def quart_4096(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1,_10) _101 = fp_mul(_10,_11) _111 = fp_mul(_10,_101) _1001 = fp_mul(_10,_111) _1011 = fp_mul(_10,_1001) _1101 = fp_mul(_10,_1011) _1111 = fp_mul(_10,_1101) _10001 = fp_mul(_10,_1111) _10011 = fp_mul(_10,_10001) _10101 = fp_mul(_10,_10011) _10111 = fp_mul(_10,_10101) _11001 = fp_mul(_10,_10111) _11011 = fp_mul(_10,_11001) _11101 = fp_mul(_10,_11011) _11111 = fp_mul(_10,_11101) _111010 = fp_mul(_11011,_11111) _111111 = fp_mul(_101,_111010) _1110100 = fp_sqr(_111010) _1111111 = fp_mul(_1011,_1110100) _11101000 = fp_sqr(_1110100) _11111111 = fp_mul(_10111,_11101000) i38 = fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_11101000,128),_11001),1),64),_11011),2) i55 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1,i38),1),128),_111111),1),128),_10101) i72 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i55,32),_10111),1),16),_1101),1),64) i86 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111,i72),1),8),_11),1),256),_10001) i108 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i86,64),_10111),1),256),_1101),1),64) i123 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011,i108),1),256),_1001),1),16),_11) i148 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i123,2048),_11111111),1),128),_1011),1),32) i163 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101,i148),1),64),_1011),1),64),_11101) i182 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i163,32),_101),1),128),_11001),1),32) i195 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101,i182),1),64),_10011),1),16),_1011) i216 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i195,128),_11101),1),32),_11101),1),128) i229 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101,i216),1),4),_11),1),256),_11111) i248 = fp_exp(fp_exp(fp_mul(fp_exp(fp_mul(fp_exp(i229,128),_11011),2),_1),1),512) i259 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101,i248),1),16),_1001),1),16),_111) i278 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i259,128),_11101),1),16),_1111),1),64) i290 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111,i278),1),64),_11111),1),8),_11) i313 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i290,256),_10011),1),128),_10111),1),64) i327 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111,i313),1),64),_10011),1),32),_10011) i345 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i327,128),_11011),1),8),_101),1),64) i359 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011,i345),1),16),_111),1),128),_1111) i374 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i359,16),_101),1),8),_1),1),64) i392 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1,i374),1),1024),_11111111),1),32),_1001) i411 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i392,8),_11),1),64),_11),1),256) i425 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001,i411),1),8),_1),1),256),_1111111) i450 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i425,1024),_1111111),1),64),_10001),1),128) i465 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111,i450),1),16),_101),1),256),_111111) i487 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i465,256),_11001),1),64),_10011),1),64) i498 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001,i487),1),64),_10101),1),4),_11) i522 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i498,2048),_1111111),1),8),_11),1),256) i536 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111,i522),1),64),_11001),1),32),_10001) i557 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i536,256),_11111),1),32),_1011),1),64) i573 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101,i557),1),64),_1001),1),128),_111) i596 = fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i573,128),_11001),1),8192),_10001),2) return fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1,i596),1),1024),_111111),1),19473520333640844691127176862977149658590968948136526555247820243011272528285939061837707013418630693601041476568594986448123729387077643515811960411020482474294659386532350316053903539988147515390538730103863099146708934871245522941906322189870389962117919361028202071764176745980651257550452869590472617231874558907485685927367574648809115885947602724023790934518369995350619469561613808778207297256942426414559305648709312602649150614261853439607537507462932895730385881610561381979306213956956954155371387764484350419237234585750558467856203620817475676959043251863760768656792160668177150351045377597021414213264417090418226523925105259413550636485086184257591644591589393199898495538890080330871093821347753938084388897294966205185738762080099421245687443300643061380644532328158133536192948933806592507527238139734445474775820534266432764308034618758576637009643867006811192758495822265172889202823244282947775986251889156602254569864288788917095347237435709225746335486741183724272646028951741973332877875405120448636089315222389626215827597972845678291201404256024264704)
def quart_2048(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1,_10) _101 = fp_mul(_10,_11) _111 = fp_mul(_10,_101) _1001 = fp_mul(_10,_111) _1011 = fp_mul(_10,_1001) _1101 = fp_mul(_10,_1011) _1111 = fp_mul(_10,_1101) _10001 = fp_mul(_10,_1111) _10011 = fp_mul(_10,_10001) _10101 = fp_mul(_10,_10011) _10111 = fp_mul(_10,_10101) _11001 = fp_mul(_10,_10111) _11011 = fp_mul(_10,_11001) _11101 = fp_mul(_10,_11011) _11111 = fp_mul(_10,_11101) _110010 = fp_mul(_10011,_11111) _111111 = fp_mul(_1101,_110010) i36 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_110010,8),_101),1),128),_11101),1),64) i52 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001,i36),1),128),_111111),1),64),_10011) i75 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i52,64),_1011),1),1024),_11111),1),32) i91 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11,i75),1),256),_10011),1),32),_11001) i110 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i91,4),_11),1),2048),_10111),1),16) i123 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101,i110),1),64),_10001),1),16),_11) i143 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i123,128),_1001),1),128),_10011),1),16) i158 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111,i143),1),64),_1001),1),64),_11111) i177 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i158,32),_1101),1),128),_1011),1),32) i192 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111,i177),1),8),_1),1),512),_11111) i216 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i192,128),_1011),1),256),_10101),1),128) i228 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101,i216),1),16),_1101),1),32),_1011) i249 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i228,64),_11101),1),256),_1111),1),32) i271 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101,i249),1),1024),_10001),1),512),_111111) i295 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i271,1024),_111),1),32),_101),1),128) i315 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11,i295),1),1024),_1111),1),128),_10001) i336 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i315,32),_11011),1),256),_111),1),64) i349 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111,i336),1),128),_11001),1),8),_101) i369 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i349,32),_11),1),512),_10011),1),16) i384 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011,i369),1),32),_101),1),128),_11111) i402 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i384,64),_11101),1),16),_1101),1),64) i419 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111,i402),1),64),_1001),1),256),_10001) i442 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i419,8),_11),1),1024),_10011),1),256) i454 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111,i442),1),64),_1111),1),8),_1) i471 = fp_exp(fp_exp(fp_mul(fp_exp(fp_mul(fp_exp(i454,512),_111111),2),_1),1),32) i488 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101,i471),1),512),_11111),1),32),_1001) i507 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i488,8),_11),1),256),_1001),1),64) i519 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111,i507),1),64),_10011),1),8),_101) i540 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i519,128),_11001),1),64),_10001),1),64) i553 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001,i540),1),32),_10101),1),32),_1111) i572 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i553,64),_1011),1),16),_111),1),128) i586 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111,i572),1),16),_1011),1),128),_11011) i605 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i586,4),_11),1),256),_11101),1),128) return fp_exp(fp_exp(fp_mul(_1001,i605),1),301289053365129073572514575753539264114011655993211118919959379883157173948975400083635628013418256207931095785111000598482802122349369790621201623486346831431901667422703153096347759739710187459605692892173477507199668232238074888682673390262438495624726955167787584703684169410202178551474270495973233796296121138652698992881779001445344806260072448481362624214361535434580828897689382975609171897782563280874104737338246376565730415550154123357125595042414592)
def sept_1792(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1,_10) _101 = fp_mul(_10,_11) _111 = fp_mul(_10,_101) _1001 = fp_mul(_10,_111) _1011 = fp_mul(_10,_1001) _1101 = fp_mul(_10,_1011) _1111 = fp_mul(_10,_1101) _10001 = fp_mul(_10,_1111) _10010 = fp_mul(_1,_10001) _10011 = fp_mul(_1,_10010) _10101 = fp_mul(_10,_10011) _10111 = fp_mul(_10,_10101) _11011 = fp_mul(_1001,_10010) _11101 = fp_mul(_10,_11011) _11111 = fp_mul(_10,_11101) _100001 = fp_mul(_10,_11111) _100011 = fp_mul(_10,_100001) _100101 = fp_mul(_10,_100011) _100111 = fp_mul(_10,_100101) _101001 = fp_mul(_10,_100111) _101011 = fp_mul(_10,_101001) _101101 = fp_mul(_10,_101011) _101111 = fp_mul(_10,_101101) _110001 = fp_mul(_10,_101111) _110011 = fp_mul(_10,_110001) _110101 = fp_mul(_10,_110011) _111011 = fp_mul(_10010,_101001) _111101 = fp_mul(_10,_111011) _111111 = fp_mul(_10,_111101) _11111100 = fp_exp(_111111,4) _11111111 = fp_mul(_11,_11111100) i34 = fp_mul(_100001,_11111111) i35 = fp_sqr(_11111111) i36 = fp_sqr(i34) i37 = fp_sqr(i35) i39 = fp_mul(fp_sqr(i36),_1011) i40 = fp_sqr(i37) i41 = fp_sqr(i39) i42 = fp_sqr(i40) i43 = fp_sqr(i41) i44 = fp_sqr(i42) i45 = fp_sqr(i43) i46 = fp_sqr(i44) i47 = fp_sqr(i45) i48 = fp_sqr(i46) i49 = fp_sqr(i47) x16 = fp_mul(fp_sqr(i48),_11111111) i52 = fp_sqr(i49) i53 = fp_sqr(x16) i54 = fp_sqr(i52) i55 = fp_sqr(i53) i56 = fp_sqr(i54) i57 = fp_sqr(i55) i58 = fp_sqr(i56) i59 = fp_sqr(i57) i60 = fp_sqr(i58) i61 = fp_sqr(i59) i62 = fp_sqr(i60) i63 = fp_sqr(i61) i65 = fp_mul(fp_sqr(i62),_11101) i66 = fp_sqr(i63) i67 = fp_sqr(i65) i68 = fp_sqr(i66) i69 = fp_sqr(i67) i70 = fp_sqr(i68) i71 = fp_sqr(i69) i72 = fp_sqr(i70) i73 = fp_sqr(i71) i74 = fp_sqr(i72) i75 = fp_sqr(i73) i76 = fp_sqr(i74) i77 = fp_sqr(i75) i78 = fp_sqr(i76) i80 = fp_mul(fp_sqr(i77),_100011) i81 = fp_sqr(i78) i82 = fp_sqr(i80) i83 = fp_sqr(i81) i84 = fp_sqr(i82) x32 = fp_mul(fp_sqr(i83),x16) i105 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i84,16),_100111),1),256),_100111),1),32) i122 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111,i105),1),16),_111),1),1024),_100001) i146 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i122,128),_100101),1),128),_111111),1),256) i163 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001,i146),1),256),_111011),1),64),_10001) i187 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i163,64),_111),1),1024),_101111),1),64) i200 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101,i187),1),64),_11101),1),16),_11) i236 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i200,512),_111),1),65536),_101111),1),512) i264 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101,i236),1),128),_110011),1),262144),_100001) i285 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i264,32),_11101),1),256),_101101),1),64) i302 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101001,i285),1),32),_10101),1),512),_111011) i330 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i302,512),_100011),1),1024),_101011),1),128) i345 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111101,i330),1),16),_1111),1),256),_101101) i368 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i345,64),_101111),1),64),_10111),1),512) i384 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111101,i368),1),128),_10011),1),64),_10001) i405 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i384,64),_10111),1),32),_1101),1),256) i418 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101001,i405),1),16),_1011),1),64),_1011) i442 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i418,128),_1011),1),512),_100101),1),64) i457 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_100101,i442),1),4),_11),1),1024),_11011) i479 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i457,16),_111),1),512),_11111111),1),128) i493 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111011,i479),1),64),_101001),1),32),_10101) i515 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i493,128),_101111),1),64),_101111),1),128) i530 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_100101,i515),1),64),_100111),1),64),_110001) i552 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i530,128),_110001),1),128),_100011),1),64) i570 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111011,i552),1),1024),_110101),1),32),_10101) i592 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i570,256),_110011),1),8),_101),1),512) i614 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_110011,i592),1),8),_111),1),65536),_11111) i662 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i614,1024),_110101),1),4),_11),1),17179869184) i729 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x32,i662),1),4294967296),x32),1),4294967296),x32) i827 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i729,4294967296),x32),1),4294967296),x32),1),4294967296) i894 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x32,i827),1),4294967296),x32),1),4294967296),x32) i992 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i894,4294967296),x32),1),4294967296),x32),1),4294967296) i1059 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x32,i992),1),4294967296),x32),1),4294967296),x32) i1157 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1059,4294967296),x32),1),4294967296),x32),1),4294967296) i1224 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x32,i1157),1),4294967296),x32),1),4294967296),x32) i1322 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1224,4294967296),x32),1),4294967296),x32),1),4294967296) i1389 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x32,i1322),1),4294967296),x32),1),4294967296),x32) i1487 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1389,4294967296),x32),1),4294967296),x32),1),4294967296) i1554 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x32,i1487),1),4294967296),x32),1),4294967296),x32) i1652 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1554,4294967296),x32),1),4294967296),x32),1),4294967296) i1719 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x32,i1652),1),4294967296),x32),1),4294967296),x32) i1817 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1719,4294967296),x32),1),4294967296),x32),1),4294967296) i1884 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x32,i1817),1),4294967296),x32),1),4294967296),x32) i1952 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1884,4294967296),x32),1),4294967296),x32),1),4) return fp_mul(_11,i1952)
def tri_2048(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _110 = fp_sqr(_11) _1100 = fp_sqr(_110) _1101 = fp_mul(_1, _1100) _1110 = fp_mul(_1, _1101) _10000 = fp_mul(_10, _1110) _11110 = fp_mul(_1110, _10000) _100001 = fp_mul(_11, _11110) _100100 = fp_mul(_11, _100001) _100101 = fp_mul(_1, _100100) _1000110 = fp_mul(_100001, _100101) _1010110 = fp_mul(_10000, _1000110) _1011001 = fp_mul(_11, _1010110) _1011111 = fp_mul(_110, _1011001) _10000100 = fp_mul(_100101, _1011111) _10100010 = fp_mul(_11110, _10000100) _11000110 = fp_mul(_100100, _10100010) _11010010 = fp_mul(_1100, _11000110) i20 = fp_mul(_11000110, _11010010) i21 = fp_mul(_10000100, i20) i22 = fp_mul(_1010110, i21) i23 = fp_mul(_1000110, i22) i24 = fp_mul(i21, i23) i25 = fp_mul(i23, i24) i26 = fp_mul(_1011001, i25) i27 = fp_mul(i20, i26) i28 = fp_mul(_11010010, i27) i29 = fp_mul(_1101, i28) i30 = fp_mul(_10100010, i29) i31 = fp_mul(i22, i30) i32 = fp_mul(_1011001, i31) i33 = fp_mul(i30, i32) i34 = fp_mul(_1011111, i33) i35 = fp_mul(i26, i34) i36 = fp_mul(i31, i35) i37 = fp_mul(i24, i36) i38 = fp_mul(i34, i37) i39 = fp_mul(i27, i38) i40 = fp_mul(i33, i39) i41 = fp_mul(i37, i40) i42 = fp_mul(i29, i41) i43 = fp_mul(i36, i42) i44 = fp_mul(i39, i43) i45 = fp_mul(i32, i44) i46 = fp_mul(i25, i45) i47 = fp_mul(i38, i46) i48 = fp_mul(i44, i47) i49 = fp_mul(i40, i48) i50 = fp_mul(i35, i49) i51 = fp_mul(i46, i50) i52 = fp_mul(i50, i51) i53 = fp_mul(i43, i52) i54 = fp_mul(i41, i53) i55 = fp_mul(i45, i54) i56 = fp_mul(i49, i55) i57 = fp_mul(i47, i56) i58 = fp_mul(i28, i57) i59 = fp_mul(i55, i58) i60 = fp_mul(i57, i59) i61 = fp_mul(i53, i60) i62 = fp_mul(i56, i61) i63 = fp_mul(i54, i62) i64 = fp_mul(i59, i63) i65 = fp_mul(i51, i64) i66 = fp_mul(i58, i65) i67 = fp_mul(i65, i66) i68 = fp_mul(i60, i67) i69 = fp_mul(i61, i68) i70 = fp_mul(i63, i69) i71 = fp_mul(i52, i70) i72 = fp_mul(i48, i71) i73 = fp_mul(i64, i72) i74 = fp_mul(i69, i73) i75 = fp_mul(i62, i74) i76 = fp_mul(i66, i75) i77 = fp_mul(i73, i76) i78 = fp_mul(i70, i77) i79 = fp_mul(i67, i78) i80 = fp_mul(i74, i79) i81 = fp_mul(i71, i80) i82 = fp_mul(i72, i81) i83 = fp_mul(i75, i82) i84 = fp_mul(i77, i83) i85 = fp_mul(i68, i84) i86 = fp_mul(i80, i85) i87 = fp_mul(i82, i86) i88 = fp_mul(i81, i87) i89 = fp_mul(i78, i88) i90 = fp_mul(i42, i89) i91 = fp_mul(i76, i90) i92 = fp_mul(i83, i91) i93 = fp_mul(i85, i92) i94 = fp_mul(i86, i93) i95 = fp_mul(i84, i94) i96 = fp_mul(i94, i95) i97 = fp_mul(i89, i96) i98 = fp_mul(i79, i97) i99 = fp_mul(i88, i98) i101 = fp_mul(fp_sqr(i99), i91) i102 = fp_mul(i99, i101) i103 = fp_mul(i93, i102) i104 = fp_mul(i98, i103) i105 = fp_mul(i90, i104) i106 = fp_mul(i102, i105) i107 = fp_mul(i97, i106) i108 = fp_mul(i101, i107) i109 = fp_mul(i95, i108) i110 = fp_mul(i96, i109) i111 = fp_mul(i105, i110) i112 = fp_mul(i103, i111) i113 = fp_mul(i108, i112) i114 = fp_mul(i107, i113) i115 = fp_mul(i109, i114) i116 = fp_mul(i87, i115) i118 = fp_mul(fp_sqr(i116), i92) i119 = fp_mul(i104, i118) i120 = fp_mul(i113, i119) i121 = fp_mul(i110, i120) i122 = fp_mul(i115, i121) i123 = fp_mul(i114, i122) i124 = fp_mul(i106, i123) i125 = fp_mul(i112, i124) i126 = fp_mul(i121, i125) i127 = fp_mul(i118, i126) i128 = fp_mul(i120, i127) i129 = fp_mul(i122, i128) i131 = fp_mul(fp_sqr(i129), i119) i132 = fp_mul(i111, i131) i133 = fp_mul(i126, i132) i134 = fp_mul(i123, i133) i135 = fp_mul(i125, i134) i136 = fp_mul(i132, i135) i137 = fp_mul(i128, i136) i138 = fp_mul(i129, i137) i139 = fp_mul(i131, i138) i140 = fp_mul(i124, i139) i141 = fp_mul(i136, i140) i142 = fp_mul(i127, i141) i143 = fp_mul(i137, i142) i144 = fp_mul(i135, i143) i145 = fp_mul(i133, i144) i146 = fp_mul(i116, i145) i147 = fp_mul(i134, i146) i148 = fp_mul(i138, i147) i149 = fp_mul(i140, i148) i150 = fp_mul(i139, i149) i151 = fp_mul(i143, i150) i152 = fp_mul(i142, i151) i153 = fp_mul(i146, i152) i154 = fp_mul(i147, i153) i155 = fp_mul(i141, i154) i157 = fp_mul(fp_sqr(i155), i145) i158 = fp_mul(i155, i157) i159 = fp_mul(i144, i158) i160 = fp_mul(i157, i159) i161 = fp_mul(i152, i160) i162 = fp_mul(i159, i161) i163 = fp_mul(i154, i162) i164 = fp_mul(i148, i163) i166 = fp_mul(fp_sqr(i164), i149) i167 = fp_mul(i150, i166) i168 = fp_mul(i162, i167) i169 = fp_mul(i151, i168) i170 = fp_mul(i153, i169) i171 = fp_mul(i160, i170) i172 = fp_mul(i161, i171) i173 = fp_mul(i158, i172) i174 = fp_mul(i168, i173) i175 = fp_mul(i164, i174) i176 = fp_mul(i169, i175) x57 = fp_mul(i163, i176) i178 = fp_mul(i166, x57) i179 = fp_mul(i173, i178) i180 = fp_mul(i167, i179) i181 = fp_mul(i172, i180) i182 = fp_mul(i180, i181) i183 = fp_mul(i176, i182) i184 = fp_mul(i178, i183) i185 = fp_mul(i171, i184) i186 = fp_mul(i170, i185) i187 = fp_mul(i175, i186) i188 = fp_mul(i181, i187) i189 = fp_mul(i174, i188) i190 = fp_mul(i179, i189) i191 = fp_mul(i188, i190) i192 = fp_mul(i186, i191) i193 = fp_mul(i185, i192) i194 = fp_mul(i182, i193) i195 = fp_mul(i183, i194) i196 = fp_mul(i192, i195) i197 = fp_mul(i190, i196) i198 = fp_mul(i193, i197) i199 = fp_mul(i189, i198) x64 = fp_mul(i187, i199) i396 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i196, 18446744073709551616), i198), 1), 9223372036854775808), i184), 1), 147573952589676412928) i530 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(i191, i396), 1), 295147905179352825856), i197), 1), 9223372036854775808), i195) i725 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i530, 18446744073709551616), i194), 1), 36893488147419103232), i199), 1), 18446744073709551616) i856 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i725), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) i1050 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i856, 18446744073709551616), x64), 1), 18446744073709551616), x64), 1), 18446744073709551616) i1181 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i1050), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) i1375 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i1181, 18446744073709551616), x64), 1), 18446744073709551616), x64), 1), 18446744073709551616) i1506 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i1375), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) i1700 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i1506, 18446744073709551616), x64), 1), 18446744073709551616), x64), 1), 18446744073709551616) i1831 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i1700), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) i2025 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i1831, 18446744073709551616), x64), 1), 18446744073709551616), x64), 1), 18446744073709551616) i2156 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i2025), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) return fp_mul(fp_exp(i2156, 144115188075855872), x57)
def quart_1024(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111110 = fp_sqr(_11111) _111111 = fp_mul(_1, _111110) _1010000 = fp_mul(_10001, _111111) i37 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_1010000, 8), _11101), 1), 32), _1001), 1), 256) i51 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i37), 1), 4), _11), 1), 512), _101) i70 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i51, 256), _1001), 1), 32), _1101), 1), 16) i86 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101, i70), 1), 128), _111111), 1), 64), _111) i106 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i86, 128), _10111), 1), 32), _10011), 1), 64) i119 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i106), 1), 16), _101), 1), 64), _1111) i139 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i119, 128), _1001), 1), 32), _1011), 1), 64) i158 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10001, i139), 1), 128), _11001), 1), 512), _111111) i181 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i158, 128), _10001), 1), 32), _11), 1), 512) i195 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i181), 1), 4), _11), 1), 512), _11011) i213 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i195, 32), _10101), 1), 16), _1111), 1), 128) i231 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001, i213), 1), 1024), _1101), 1), 32), _1001) i249 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i231, 64), _10101), 1), 32), _10101), 1), 32) i272 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i249), 1), 32768), _1001), 1), 32), _101) i291 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i272, 128), _10101), 1), 64), _10111), 1), 16) i307 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i291), 1), 128), _11111), 1), 64), _11011) i323 = fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i307, 128), _10011), 1), 64), _10111), 2) i341 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i323), 1), 4096), _111111), 1), 8), _111) i360 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i341, 64), _10111), 1), 32), _10001), 1), 64) i377 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10101, i360), 1), 512), _10011), 1), 32), _1111) i403 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i377, 4096), _10111), 1), 128), _10101), 1), 32) i417 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i403), 1), 16), _101), 1), 128), _10111) i439 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i417, 64), _10001), 1), 16), _1101), 1), 1024) i452 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i439), 1), 16), _1001), 1), 64), _10011) i469 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i452, 16), _111), 1), 32), _111), 1), 64) i483 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001, i469), 1), 64), _11011), 1), 32), _10101) i501 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i483, 64), _11101), 1), 64), _1111), 1), 16) i518 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i501), 1), 1024), _11011), 1), 16), _1001) i535 = fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i518, 32), _11), 1), 512), _10101), 2) i555 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i535), 1), 1024), _11), 1), 128), _1011) i575 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i555, 64), _1011), 1), 32), _1001), 1), 128) i597 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i575), 1), 1024), _10111), 1), 512), _11101) return fp_exp( fp_exp(fp_mul(fp_exp(i597, 64), _1101), 1), 1675975991242824637446753124775730765934920727574049172215445180465220503759193372100234287270862928461253982273310756356719235351493321243304206125760512 )
def sept_1024(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _110 = fp_sqr(_11) _1000 = fp_mul(_10, _110) _1001 = fp_mul(_1, _1000) _1010 = fp_mul(_1, _1001) _1101 = fp_mul(_11, _1010) _10010 = fp_mul(_1000, _1010) _11100 = fp_mul(_1010, _10010) _100100 = fp_mul(_1000, _11100) _110001 = fp_mul(_1101, _100100) _110110 = fp_mul(_10010, _100100) _111000 = fp_mul(_10, _110110) _111010 = fp_mul(_10, _111000) _1000000 = fp_mul(_110, _111010) _1001010 = fp_mul(_1010, _1000000) _1010000 = fp_mul(_110, _1001010) _1011001 = fp_mul(_1001, _1010000) _1101011 = fp_mul(_10010, _1011001) _1111010 = fp_mul(_111010, _1000000) _1111100 = fp_mul(_10, _1111010) _10000110 = fp_mul(_1010, _1111100) _10110111 = fp_mul(_110001, _10000110) _11000000 = fp_mul(_1001, _10110111) _11011100 = fp_mul(_11100, _11000000) i26 = fp_mul(_1101011, _11011100) i27 = fp_mul(_1111010, i26) i28 = fp_mul(_1000000, i27) i29 = fp_mul(_11100, i28) i30 = fp_mul(_11, i29) i31 = fp_mul(_1010, i30) i32 = fp_mul(_110110, i30) i33 = fp_mul(_1111010, i30) i34 = fp_mul(_100100, i33) i35 = fp_mul(_1111100, i34) i36 = fp_mul(_110, i35) i37 = fp_mul(_1010000, i36) i38 = fp_mul(_11000000, i37) i39 = fp_mul(_110110, i38) i40 = fp_mul(_111010, i38) i41 = fp_mul(_111000, i40) i42 = fp_mul(_10000110, i41) i43 = fp_mul(_111010, i42) i44 = fp_mul(_1001010, i43) i45 = fp_mul(_11100, i44) i46 = fp_mul(i28, i45) i47 = fp_mul(_100100, i46) i48 = fp_mul(_10110111, i47) i49 = fp_mul(i37, i48) i50 = fp_mul(_1101, i49) i51 = fp_mul(_11011100, i50) i52 = fp_mul(i39, i51) i53 = fp_mul(i26, i52) i54 = fp_mul(i29, i53) i55 = fp_mul(_1001, i54) i56 = fp_mul(i40, i55) i57 = fp_mul(_1000, i56) i58 = fp_mul(i33, i57) i59 = fp_mul(i31, i58) i60 = fp_mul(i47, i59) i61 = fp_mul(i55, i60) i62 = fp_mul(i41, i61) i63 = fp_mul(i45, i62) i64 = fp_mul(i38, i63) i65 = fp_mul(i35, i64) i66 = fp_mul(i44, i65) i67 = fp_mul(i32, i66) i68 = fp_mul(_100100, i67) i69 = fp_mul(i57, i68) i70 = fp_mul(i36, i69) i71 = fp_mul(i53, i70) i72 = fp_mul(i59, i71) i73 = fp_mul(i42, i72) i74 = fp_mul(_1010, i73) i75 = fp_mul(i48, i74) i76 = fp_mul(i49, i75) i77 = fp_mul(_1010000, i76) i78 = fp_mul(i30, i77) i79 = fp_mul(i43, i78) i80 = fp_mul(i56, i79) i81 = fp_mul(i34, i80) x16 = fp_mul(i58, i81) i140 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i76, 32768), i60), 1), 4194304), i67), 1), 524288) i173 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i81, i140), 1), 65536), i73), 1), 16384), i61) i219 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i173, 262144), i80), 1), 65536), i75), 1), 1024) i262 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i27, i219), 1), 262144), i46), 1), 4194304), i72) i327 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i262, 65536), i50), 1), 536870912), i66), 1), 262144) i365 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i63, i327), 1), 524288), i70), 1), 65536), i69) i417 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i365, 16384), i52), 1), 16384), _1011001), 1), 4194304) i453 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i51, i417), 1), 1048576), i78), 1), 8192), i54) i513 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i453, 524288), i74), 1), 1048576), i68), 1), 524288) i549 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i77, i513), 1), 131072), i79), 1), 65536), i71) i600 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i549, 32768), i64), 1), 65536), i65), 1), 262144) i636 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i62, i600), 1), 131072), x16), 1), 65536), x16) i686 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i636, 65536), x16), 1), 65536), x16), 1), 65536) i721 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i686), 1), 65536), x16), 1), 65536), x16) i771 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i721, 65536), x16), 1), 65536), x16), 1), 65536) i806 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i771), 1), 65536), x16), 1), 65536), x16) i856 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i806, 65536), x16), 1), 65536), x16), 1), 65536) i891 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i856), 1), 65536), x16), 1), 65536), x16) i941 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i891, 65536), x16), 1), 65536), x16), 1), 65536) i976 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i941), 1), 65536), x16), 1), 65536), x16) i1026 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i976, 65536), x16), 1), 65536), x16), 1), 65536) i1061 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i1026), 1), 65536), x16), 1), 65536), x16) i1111 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1061, 65536), x16), 1), 65536), x16), 1), 65536) i1146 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i1111), 1), 65536), x16), 1), 65536), x16) return fp_mul(fp_exp(i1146, 4), _11)
def sq_4096(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111010 = fp_mul(_11011, _11111) _111111 = fp_mul(_101, _111010) _1110100 = fp_sqr(_111010) _1111111 = fp_mul(_1011, _1110100) _11101000 = fp_sqr(_1110100) _11111111 = fp_mul(_10111, _11101000) i38 = fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_11101000, 128), _11001), 1), 64), _11011), 2) i55 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i38), 1), 128), _111111), 1), 128), _10101) i72 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i55, 32), _10111), 1), 16), _1101), 1), 64) i86 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i72), 1), 8), _11), 1), 256), _10001) i108 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i86, 64), _10111), 1), 256), _1101), 1), 64) i123 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i108), 1), 256), _1001), 1), 16), _11) i148 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i123, 2048), _11111111), 1), 128), _1011), 1), 32) i163 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101, i148), 1), 64), _1011), 1), 64), _11101) i182 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i163, 32), _101), 1), 128), _11001), 1), 32) i195 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i182), 1), 64), _10011), 1), 16), _1011) i216 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i195, 128), _11101), 1), 32), _11101), 1), 128) i229 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i216), 1), 4), _11), 1), 256), _11111) i248 = fp_exp( fp_exp(fp_mul(fp_exp(fp_mul(fp_exp(i229, 128), _11011), 2), _1), 1), 512) i259 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i248), 1), 16), _1001), 1), 16), _111) i278 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i259, 128), _11101), 1), 16), _1111), 1), 64) i290 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i278), 1), 64), _11111), 1), 8), _11) i313 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i290, 256), _10011), 1), 128), _10111), 1), 64) i327 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i313), 1), 64), _10011), 1), 32), _10011) i345 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i327, 128), _11011), 1), 8), _101), 1), 64) i359 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i345), 1), 16), _111), 1), 128), _1111) i374 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i359, 16), _101), 1), 8), _1), 1), 64) i392 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_1, i374), 1), 1024), _11111111), 1), 32), _1001) i411 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i392, 8), _11), 1), 64), _11), 1), 256) i425 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i411), 1), 8), _1), 1), 256), _1111111) i450 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i425, 1024), _1111111), 1), 64), _10001), 1), 128) i465 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111, i450), 1), 16), _101), 1), 256), _111111) i487 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i465, 256), _11001), 1), 64), _10011), 1), 64) i498 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i487), 1), 64), _10101), 1), 4), _11) i522 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i498, 2048), _1111111), 1), 8), _11), 1), 256) i536 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i522), 1), 64), _11001), 1), 32), _10001) i557 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i536, 256), _11111), 1), 32), _1011), 1), 64) i573 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101, i557), 1), 64), _1001), 1), 128), _111) i596 = fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i573, 128), _11001), 1), 8192), _10001), 2) return fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i596), 1), 1024), _111111), 1), 38947040667281689382254353725954299317181937896273053110495640486022545056571878123675414026837261387202082953137189972896247458774155287031623920822040964948589318773064700632107807079976295030781077460207726198293417869742491045883812644379740779924235838722056404143528353491961302515100905739180945234463749117814971371854735149297618231771895205448047581869036739990701238939123227617556414594513884852829118611297418625205298301228523706879215075014925865791460771763221122763958612427913913908310742775528968700838474469171501116935712407241634951353918086503727521537313584321336354300702090755194042828426528834180836453047850210518827101272970172368515183289183178786399796991077780160661742187642695507876168777794589932410371477524160198842491374886601286122761289064656316267072385897867613185015054476279468890949551641068532865528616069237517153274019287734013622385516991644530345778405646488565895551972503778313204509139728577577834190694474871418451492670973482367448545292057903483946665755750810240897272178630444779252431655195945691356582402808512048529408 )
def sept_512(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111110 = fp_sqr(_11111) _111111 = fp_mul(_1, _111110) _11111100 = fp_exp(_111111, 4) _11111111 = fp_mul(_11, _11111100) i39 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10001, _11111100), 1), 64), _10001), 1), 512), _11101) i61 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i39, 128), _10011), 1), 2048), _11111111), 1), 4) i79 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i61), 1), 256), _1111), 1), 128), _1011) i101 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i79, 128), _10011), 1), 32), _11101), 1), 256) i116 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111111, i101), 1), 8), _1), 1), 512), _11101) i136 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i116, 32), _10011), 1), 64), _10001), 1), 128) i149 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111, i136), 1), 32), _1001), 1), 32), _1011) i167 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i149, 16), _11), 1), 64), _111), 1), 64) i185 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i167), 1), 128), _1101), 1), 256), _10011) i202 = fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i185, 8), _111), 1), 2048), _11111111), 2) i212 = fp_mul( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i202), 1), 64), _10101), 2), _1) i234 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i212, 64), _11), 1), 256), _10011), 1), 64) i249 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i234), 1), 64), _11), 1), 64), _111) i271 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i249, 16), _11), 1), 256), _11111), 1), 256) i285 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10111, i271), 1), 128), _11111), 1), 16), _111) i307 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i285, 128), _101), 1), 128), _10011), 1), 64) i321 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i307), 1), 16), _111), 1), 128), _11001) i341 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i321, 16), _11), 1), 256), _11111), 1), 64) i357 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i341), 1), 128), _111111), 1), 64), _11011) i379 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i357, 64), _101), 1), 128), _10011), 1), 128) i393 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i379), 1), 64), _10001), 1), 32), _10111) i410 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i393, 32), _10001), 1), 32), _11101), 1), 32) i423 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i410), 1), 32), _1101), 1), 32), _1) i444 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i423, 128), _111), 1), 64), _1001), 1), 64) i459 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i444), 1), 8), _1), 1), 512), _11111111) i481 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i459, 64), _1001), 1), 64), _11001), 1), 256) i494 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11001, i481), 1), 8), _1), 1), 128), _111111) i510 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i494, 64), _10011), 1), 32), _11001), 1), 8) i526 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101, i510), 1), 2048), _11101), 1), 4), _11) i546 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i526, 64), _1), 1), 512), _11111111), 1), 8) i568 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i546), 1), 4096), _1101), 1), 128), _10001) i590 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i568, 16), _1101), 1), 64), _1), 1), 1024) i604 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i590), 1), 64), _10111), 1), 32), _11001) return fp_mul(fp_exp(i604, 16), _1111)
def sept_4096(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1110 = fp_sqr(_111) _10001 = fp_mul(_11, _1110) _10110 = fp_mul(_101, _10001) _11000 = fp_mul(_10, _10110) _11111 = fp_mul(_111, _11000) _100001 = fp_mul(_10, _11111) _110010 = fp_mul(_10001, _100001) _1010001 = fp_mul(_11111, _110010) _1100111 = fp_mul(_10110, _1010001) _10011001 = fp_mul(_110010, _1100111) i16 = fp_mul(fp_sqr(_10011001), _100001) i17 = fp_mul(_11000, i16) i18 = fp_mul(_1010001, i17) i19 = fp_mul(_1100111, i18) i20 = fp_mul(i17, i19) i21 = fp_mul(i16, i20) i22 = fp_mul(_10011001, i21) i23 = fp_mul(i19, i22) i24 = fp_mul(i21, i23) i25 = fp_mul(i20, i24) i26 = fp_mul(i22, i25) i27 = fp_mul(i23, i26) i28 = fp_mul(i18, i27) i29 = fp_mul(i27, i28) i30 = fp_mul(i25, i29) i31 = fp_mul(i28, i30) i32 = fp_mul(i26, i31) i33 = fp_mul(i24, i32) i34 = fp_mul(i32, i33) i35 = fp_mul(i31, i34) i36 = fp_mul(i33, i35) i37 = fp_mul(i29, i36) i39 = fp_mul(fp_sqr(i37), i34) i40 = fp_mul(i35, i39) i41 = fp_mul(i36, i40) i43 = fp_mul(fp_sqr(i41), i30) i44 = fp_mul(i39, i43) i45 = fp_mul(i40, i44) i46 = fp_mul(i37, i45) i48 = fp_mul(fp_sqr(i46), i41) i49 = fp_mul(i44, i48) i50 = fp_mul(i45, i49) i51 = fp_mul(i43, i50) i52 = fp_mul(i49, i51) i53 = fp_mul(i48, i52) i54 = fp_mul(i50, i53) i55 = fp_mul(i51, i54) i57 = fp_mul(fp_sqr(i55), i54) i58 = fp_mul(i46, i57) i59 = fp_mul(i53, i58) i61 = fp_mul(fp_sqr(i59), i52) i62 = fp_mul(i55, i61) i64 = fp_mul(fp_sqr(i62), i58) i66 = fp_mul(fp_sqr(i64), i59) i67 = fp_mul(i57, i66) i71 = fp_mul(fp_exp(fp_mul(fp_sqr(i67), i67), 2), i62) i72 = fp_mul(i67, i71) i73 = fp_mul(i64, i72) i74 = fp_mul(i66, i73) i75 = fp_mul(i72, i74) i77 = fp_mul(fp_sqr(i75), i71) i78 = fp_mul(i75, i77) i79 = fp_mul(i73, i78) i81 = fp_mul(fp_sqr(i79), i77) i82 = fp_mul(i79, i81) i83 = fp_mul(i61, i82) i85 = fp_mul(fp_sqr(i83), i74) i86 = fp_mul(i78, i85) i88 = fp_mul(fp_sqr(i86), i83) i89 = fp_mul(i82, i88) i90 = fp_mul(i81, i89) i91 = fp_mul(i86, i90) i92 = fp_mul(i85, i91) i95 = fp_mul(fp_exp(i92, 4), i89) i96 = fp_mul(i88, i95) i99 = fp_mul(fp_mul(fp_sqr(i96), i96), i90) i100 = fp_mul(i91, i99) i101 = fp_mul(i95, i100) i104 = fp_mul(fp_mul(fp_sqr(i101), i101), i99) i105 = fp_mul(i100, i104) i107 = fp_mul(fp_sqr(i105), i101) i108 = fp_mul(i92, i107) i109 = fp_mul(i105, i108) i110 = fp_mul(i108, i109) i112 = fp_mul(fp_sqr(i110), i104) i113 = fp_mul(i109, i112) i114 = fp_mul(i112, i113) i115 = fp_mul(i113, i114) i116 = fp_mul(i96, i115) i117 = fp_mul(i115, i116) i118 = fp_mul(i107, i117) i119 = fp_mul(i110, i118) i120 = fp_mul(i114, i119) i122 = fp_mul(fp_sqr(i120), i116) i124 = fp_mul(fp_sqr(i122), i118) i125 = fp_mul(i117, i124) i127 = fp_mul(fp_sqr(i125), i119) i128 = fp_mul(i124, i127) i129 = fp_mul(i120, i128) i130 = fp_mul(i122, i129) i131 = fp_mul(i125, i130) i132 = fp_mul(i127, i131) i133 = fp_mul(i130, i132) i134 = fp_mul(i128, i133) i136 = fp_mul(fp_sqr(i134), i133) i137 = fp_mul(i131, i136) i138 = fp_mul(i132, i137) i139 = fp_mul(i129, i138) i140 = fp_mul(i136, i139) i141 = fp_mul(i139, i140) i143 = fp_mul(fp_sqr(i141), i138) i144 = fp_mul(i134, i143) i145 = fp_mul(i137, i144) i146 = fp_mul(i143, i145) i147 = fp_mul(i145, i146) i148 = fp_mul(i144, i147) i149 = fp_mul(i140, i148) i150 = fp_mul(i147, i149) i151 = fp_mul(i141, i150) i152 = fp_mul(i149, i151) i153 = fp_mul(i146, i152) i155 = fp_mul(fp_sqr(i153), i151) i156 = fp_mul(i150, i155) i157 = fp_mul(i148, i156) i158 = fp_mul(i152, i157) i159 = fp_mul(i153, i158) i160 = fp_mul(i158, i159) i161 = fp_mul(i159, i160) i163 = fp_mul(fp_sqr(i161), i156) i164 = fp_mul(i155, i163) i165 = fp_mul(i163, i164) i166 = fp_mul(i157, i165) i167 = fp_mul(i161, i166) i168 = fp_mul(i166, i167) i169 = fp_mul(i164, i168) i170 = fp_mul(i167, i169) i171 = fp_mul(i168, i170) i172 = fp_mul(i160, i171) i173 = fp_mul(i169, i172) i174 = fp_mul(i171, i173) i175 = fp_mul(i170, i174) i177 = fp_mul(fp_sqr(i175), i165) i178 = fp_mul(i172, i177) i179 = fp_mul(i173, i178) i180 = fp_mul(i175, i179) i181 = fp_mul(i174, i180) i183 = fp_mul(fp_sqr(i181), i177) i184 = fp_mul(i180, i183) i185 = fp_mul(i181, i184) i187 = fp_mul(fp_sqr(i185), i183) i188 = fp_mul(i179, i187) i189 = fp_mul(i187, i188) i190 = fp_mul(i185, i189) i191 = fp_mul(i184, i190) i192 = fp_mul(i189, i191) i193 = fp_mul(i178, i192) i194 = fp_mul(i191, i193) i195 = fp_mul(i188, i194) i196 = fp_mul(i193, i195) i197 = fp_mul(i190, i196) i199 = fp_mul(fp_sqr(i197), i195) i200 = fp_mul(i194, i199) i201 = fp_mul(i192, i200) i204 = fp_mul(fp_exp(i201, 4), i200) i206 = fp_mul(fp_sqr(i204), i197) i207 = fp_mul(i201, i206) i208 = fp_mul(i204, i207) i210 = fp_mul(fp_sqr(i208), i196) i212 = fp_mul(fp_sqr(i210), i207) i213 = fp_mul(i206, i212) i214 = fp_mul(i212, i213) i215 = fp_mul(i199, i214) i218 = fp_mul(fp_mul(fp_sqr(i215), i215), i210) i219 = fp_mul(i214, i218) i220 = fp_mul(i215, i219) i221 = fp_mul(i213, i220) i222 = fp_mul(i208, i221) i224 = fp_mul(fp_sqr(i222), i219) i226 = fp_mul(fp_sqr(i224), i222) i229 = fp_mul(fp_mul(fp_sqr(i226), i226), i220) i230 = fp_mul(i224, i229) i231 = fp_mul(i229, i230) i234 = fp_mul(fp_mul(fp_sqr(i231), i231), i218) i235 = fp_mul(i221, i234) i237 = fp_mul(fp_sqr(i235), i226) i238 = fp_mul(i235, i237) i239 = fp_mul(i231, i238) i240 = fp_mul(i230, i239) i241 = fp_mul(i238, i240) i242 = fp_mul(i234, i241) i243 = fp_mul(i240, i242) i244 = fp_mul(i237, i243) i245 = fp_mul(i243, i244) i246 = fp_mul(i244, i245) i247 = fp_mul(i239, i246) i248 = fp_mul(i245, i247) i249 = fp_mul(i247, i248) i250 = fp_mul(i246, i249) i251 = fp_mul(i248, i250) i252 = fp_mul(i242, i251) i254 = fp_mul(fp_sqr(i252), i250) i255 = fp_mul(i252, i254) i256 = fp_mul(i241, i255) i257 = fp_mul(i251, i256) i259 = fp_mul(fp_sqr(i257), i255) i260 = fp_mul(i257, i259) i261 = fp_mul(i256, i260) i262 = fp_mul(_1, i261) i263 = fp_mul(i254, i262) i264 = fp_mul(i260, i263) i265 = fp_mul(i261, i264) i266 = fp_mul(i249, i265) i267 = fp_mul(i259, i266) i268 = fp_mul(i266, i267) i269 = fp_mul(i267, i268) i271 = fp_mul(fp_sqr(i269), i263) i272 = fp_mul(i262, i271) i273 = fp_mul(i268, i272) i274 = fp_mul(i271, i273) x127 = fp_mul(i265, i274) i276 = fp_mul(i264, x127) i277 = fp_mul(i272, i276) x128 = fp_mul(i273, i277) i664 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i276, 42535295865117307932921825928971026432), i269), 1), 1361129467683753853853498429727072845824), i274), 1), 680564733841876926926749214863536422912) i923 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(i277, i664), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1309 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i923, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i1568 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1309), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1954 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i1568, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2213 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1954), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i2599 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2213, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2858 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i2599), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3244 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2858, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i3503 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i3244), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3889 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i3503, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i4148 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i3889), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) return fp_mul(fp_exp(i4148, 170141183460469231731687303715884105728), x127)
def inv_1024(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _1000 = fp_mul(_11, _101) _1011 = fp_mul(_11, _1000) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10000 = fp_mul(_1, _1111) _10100 = fp_mul(_101, _1111) _10110 = fp_mul(_10, _10100) _11000 = fp_mul(_10, _10110) _11111 = fp_mul(_1011, _10100) _101110 = fp_mul(_1111, _11111) _111011 = fp_mul(_1101, _101110) _1000000 = fp_mul(_101, _111011) _1001000 = fp_mul(_1000, _1000000) _1001010 = fp_mul(_10, _1001000) _1010000 = fp_mul(_1000, _1001000) _1010011 = fp_mul(_11, _1010000) _1011000 = fp_mul(_101, _1010011) _10000001 = fp_mul(_101110, _1010011) _10100000 = fp_mul(_11111, _10000001) _10101000 = fp_mul(_1000, _10100000) _10110110 = fp_mul(_10110, _10100000) _10110111 = fp_mul(_1, _10110110) _10111010 = fp_mul(_11, _10110111) _11000000 = fp_mul(_11000, _10101000) _11101110 = fp_mul(_101110, _11000000) i29 = fp_mul(_10110, _11101110) i30 = fp_mul(_10000, i29) i31 = fp_mul(_1000000, _11101110) i32 = fp_sqr(_10100000) i33 = fp_mul(_10101000, _10111010) i34 = fp_mul(_10111010, i33) i35 = fp_mul(_10100, i34) i36 = fp_mul(_1001010, i35) i37 = fp_mul(_1001010, i36) i38 = fp_mul(_1011, i37) i39 = fp_mul(_10000001, i38) i40 = fp_mul(i32, i34) i41 = fp_mul(_1011000, i40) i42 = fp_mul(_11000000, i41) i43 = fp_mul(_1001000, i42) i44 = fp_mul(i29, i43) i45 = fp_mul(_10110110, i44) i46 = fp_mul(_10, i45) i47 = fp_mul(_10000, i45) i48 = fp_mul(_11000, i47) i49 = fp_mul(_10101000, i48) i50 = fp_mul(_10110111, i49) i51 = fp_mul(_111011, i50) i52 = fp_mul(_1111, i51) i53 = fp_mul(_1010011, i52) i54 = fp_mul(_11101110, i53) i55 = fp_mul(i40, i48) i56 = fp_mul(i33, i55) i57 = fp_mul(i39, i56) i58 = fp_mul(_11, i57) i59 = fp_mul(_1001000, i57) i60 = fp_mul(i51, i59) i61 = fp_mul(i34, i60) i62 = fp_mul(i38, i61) i63 = fp_mul(_1111, i62) i64 = fp_mul(i58, i63) i65 = fp_mul(i31, i64) i66 = fp_mul(i56, i65) i67 = fp_mul(i59, i66) i68 = fp_mul(i40, i67) i69 = fp_mul(i55, i68) i70 = fp_mul(i44, i69) i71 = fp_mul(i41, i70) i72 = fp_mul(_1000000, i71) i73 = fp_mul(i63, i72) i74 = fp_mul(i47, i73) i75 = fp_mul(i54, i74) i76 = fp_mul(i42, i75) i77 = fp_mul(i35, i76) i78 = fp_mul(i45, i77) i79 = fp_mul(i57, i78) i80 = fp_sqr(i69) i81 = fp_mul(i43, i79) i82 = fp_mul(i32, i81) i83 = fp_mul(i53, i82) i84 = fp_mul(i61, i83) i85 = fp_mul(i60, i84) i86 = fp_mul(i37, i85) i87 = fp_mul(i36, i86) i88 = fp_mul(i46, i87) i89 = fp_mul(i30, i88) i90 = fp_mul(_10100000, i89) i91 = fp_mul(i49, i90) i92 = fp_mul(i48, i91) x16 = fp_mul(_1010000, i92) i149 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i80, 262144), i76), 1), 1048576), i78), 1), 65536) i186 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i90, i149), 1), 65536), i84), 1), 262144), i89) i233 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i186, 131072), i75), 1), 65536), i91), 1), 4096) i273 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i52, i233), 1), 262144), i66), 1), 524288), i77) i327 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i273, 262144), i82), 1), 65536), i74), 1), 262144) i361 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i79, i327), 1), 65536), i83), 1), 32768), i68) i421 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i361, 4194304), i92), 1), 524288), i81), 1), 131072) i457 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i88, i421), 1), 65536), i64), 1), 131072), i71) i511 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i457, 1048576), i67), 1), 131072), i86), 1), 32768) i548 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i72, i511), 1), 131072), i73), 1), 131072), i85) i600 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i548, 32768), i65), 1), 262144), i70), 1), 131072) i639 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i62, i600), 1), 1048576), i87), 1), 65536), x16) i689 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i639, 65536), x16), 1), 65536), x16), 1), 65536) i724 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i689), 1), 65536), x16), 1), 65536), x16) i774 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i724, 65536), x16), 1), 65536), x16), 1), 65536) i809 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i774), 1), 65536), x16), 1), 65536), x16) i859 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i809, 65536), x16), 1), 65536), x16), 1), 65536) i894 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i859), 1), 65536), x16), 1), 65536), x16) i944 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i894, 65536), x16), 1), 65536), x16), 1), 65536) i979 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i944), 1), 65536), x16), 1), 65536), x16) i1029 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i979, 65536), x16), 1), 65536), x16), 1), 65536) i1064 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i1029), 1), 65536), x16), 1), 65536), x16) i1114 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1064, 65536), x16), 1), 65536), x16), 1), 65536) i1149 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i1114), 1), 65536), x16), 1), 65536), x16) return fp_mul(fp_exp(i1149, 2048), i50)
def inv_1792(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111110 = fp_sqr(_11111) _111111 = fp_mul(_1, _111110) _1111110 = fp_sqr(_111111) _1111111 = fp_mul(_1, _1111110) i22 = fp_exp(_1111111, 4) i26 = fp_exp(i22, 16) i27 = fp_mul(_1101, i26) i28 = fp_sqr(i26) i29 = fp_sqr(i27) i30 = fp_sqr(i28) i31 = fp_sqr(i29) i32 = fp_sqr(i30) i33 = fp_sqr(i31) i34 = fp_mul(i22, i32) i35 = fp_sqr(i33) i36 = fp_sqr(i34) i37 = fp_sqr(i35) i38 = fp_sqr(i36) i39 = fp_sqr(i37) i40 = fp_sqr(i38) i41 = fp_sqr(i39) i42 = fp_sqr(i40) i43 = fp_sqr(i41) i44 = fp_sqr(i42) i46 = fp_mul(fp_sqr(i43), _11001) i47 = fp_sqr(i44) i48 = fp_sqr(i46) i49 = fp_sqr(i47) i50 = fp_sqr(i48) i51 = fp_sqr(i49) i52 = fp_sqr(i50) i53 = fp_sqr(i51) i54 = fp_sqr(i52) i55 = fp_sqr(i53) i57 = fp_mul(fp_sqr(i54), _10011) i58 = fp_sqr(i55) i59 = fp_sqr(i57) i60 = fp_sqr(i58) i61 = fp_sqr(i59) i62 = fp_sqr(i60) i63 = fp_sqr(i61) x30 = fp_mul(fp_mul(fp_sqr(i62), i34), _11) i67 = fp_sqr(i63) i68 = fp_sqr(x30) i70 = fp_mul(fp_sqr(i67), _11001) x32 = fp_mul(fp_sqr(i68), _11) i91 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i70, 32), _1001), 1), 256), _1011), 1), 16) i107 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i91), 1), 1024), _10011), 1), 8), _101) i126 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i107, 8), _1), 1), 512), _11001), 1), 32) i142 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11001, i126), 1), 32), _1111), 1), 256), _10011) i163 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i142, 32), _11011), 1), 64), _11111), 1), 256) i177 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i163), 1), 16), _11), 1), 128), _111) i195 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i177, 32), _11), 1), 64), _101), 1), 32) i212 = fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i195), 1), 16), _1), 1), 1024), _101) i231 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i212, 64), _1001), 1), 32), _1001), 1), 64) i254 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i231), 1), 32), _101), 1), 32768), _11101) i273 = fp_exp( fp_exp(fp_mul(fp_exp(fp_mul(fp_exp(i254, 32), _10101), 2), _1), 1), 2048) i288 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111111, i273), 1), 64), _111), 1), 64), _1111) i308 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i288, 128), _11101), 1), 32), _1111), 1), 64) i322 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i308), 1), 16), _11), 1), 128), _11) i347 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i322, 128), _1101), 1), 8), _1), 1), 8192) i362 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10111, i347), 1), 512), _11101), 1), 8), _11) i388 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i362, 2048), _11011), 1), 32), _10011), 1), 256) i404 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_11111, i388), 1), 512), _10001), 1), 16), _1111) i429 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i404, 256), _11011), 1), 128), _11011), 1), 256) i444 = fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i429), 1), 8), _1), 1), 512), _10011) i467 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i444, 256), _1), 1), 512), _111111), 1), 16) i484 = fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i467), 1), 64), _11), 1), 256), _11101) i501 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i484, 64), _11001), 1), 4), _11), 1), 128) i519 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i501), 1), 512), _11101), 1), 64), _11001) i536 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i519, 32), _10011), 1), 8), _11), 1), 128) i550 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111, i536), 1), 64), _11011), 1), 32), _10101) i570 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i550, 64), _11101), 1), 32), _11101), 1), 128) i585 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i570), 1), 128), _10111), 1), 32), _1101) i613 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i585, 64), _11001), 1), 8192), _11011), 1), 128) i625 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i613), 1), 8), _111), 1), 64), _101) i724 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i625, 8589934592), x32), 1), 4294967296), x32), 1), 4294967296) i791 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i724), 1), 4294967296), x32), 1), 4294967296), x32) i889 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i791, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i956 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i889), 1), 4294967296), x32), 1), 4294967296), x32) i1054 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i956, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1121 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1054), 1), 4294967296), x32), 1), 4294967296), x32) i1219 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1121, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1286 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1219), 1), 4294967296), x32), 1), 4294967296), x32) i1384 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1286, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1451 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1384), 1), 4294967296), x32), 1), 4294967296), x32) i1549 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1451, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1616 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1549), 1), 4294967296), x32), 1), 4294967296), x32) i1714 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1616, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1781 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1714), 1), 4294967296), x32), 1), 4294967296), x32) i1879 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1781, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1944 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1879), 1), 4294967296), x32), 1), 1073741824), x30) return fp_mul(fp_exp(i1944, 4), _1)
def quart_3072(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _100 = fp_mul(_1, _11) _101 = fp_mul(_1, _100) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10011 = fp_mul(_100, _1111) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _100001 = fp_mul(_10, _11111) _100101 = fp_mul(_100, _100001) _100111 = fp_mul(_10, _100101) _101001 = fp_mul(_10, _100111) _101011 = fp_mul(_10, _101001) _101101 = fp_mul(_10, _101011) _101111 = fp_mul(_10, _101101) _110001 = fp_mul(_10, _101111) _110011 = fp_mul(_10, _110001) _110101 = fp_mul(_10, _110011) _111001 = fp_mul(_100, _110101) _111101 = fp_mul(_100, _111001) _111111 = fp_mul(_10, _111101) _1111110 = fp_sqr(_111111) _1111111 = fp_mul(_1, _1111110) _10110100 = fp_mul(_110101, _1111111) i53 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(_10110100, 64), _101111), 1), 64), _1111), 1), 128) i73 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_11101, i53), 1), 512), _101001), 1), 256), _10101) i96 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i73, 128), _101111), 1), 512), _100001), 1), 32) i113 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i96), 1), 64), _1001), 1), 256), _110001) i133 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i113, 32), _10101), 1), 16), _101), 1), 512) i147 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111001, i133), 1), 16), _101), 1), 128), _1011) i172 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i147, 256), _110101), 1), 32), _10111), 1), 1024) i190 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_100101, i172), 1), 64), _101011), 1), 512), _100101) i214 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i190, 128), _101111), 1), 64), _11), 1), 512) i234 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i214), 1), 128), _1011), 1), 1024), _10011) i261 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i234, 128), _111), 1), 1024), _100111), 1), 256) i282 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_100111, i261), 1), 512), _110101), 1), 512), _1111111) i303 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i282, 32), _11111), 1), 512), _100101), 1), 32) i319 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i303), 1), 64), _11011), 1), 128), _111101) i340 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i319, 64), _110101), 1), 64), _10111), 1), 128) i361 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_111111, i340), 1), 128), _10011), 1), 2048), _1001) i386 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i361, 1024), _111111), 1), 128), _100111), 1), 64) i400 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_11011, i386), 1), 128), _11011), 1), 16), _111) i423 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i400, 1024), _101011), 1), 64), _101011), 1), 32) i441 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i423), 1), 64), _11111), 1), 512), _101001) i463 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i441, 64), _100111), 1), 8), _101), 1), 2048) i477 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111101, i463), 1), 16), _1101), 1), 128), _1001) i502 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i477, 512), _11101), 1), 256), _100101), 1), 64) i518 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_101101, i502), 1), 64), _100001), 1), 128), _110001) i544 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i518, 64), _101), 1), 128), _101), 1), 2048) i557 = fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(fp_mul(_100001, i544), 2), _1), 1), 512), _1111111) i580 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i557, 64), _11001), 1), 256), _101011), 1), 128) i595 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i580), 1), 32), _1001), 1), 128), _11111) return fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i595, 128), _110011), 1), 32), _11101), 1), 13540631571091461853163616343597829035214122634757923946150980204596801748539633714799749980264179980479764347520065911539820003456901359936565697225764325861376456757098784868801942261231107873715432358778281570209476232615685170429490116466837180248143047642366386324907479955857757773156061115886947408860370347929954110401396697023036971669330349689165406178637931741075554388570447364695854236037800204543434404957923178194336489464779659687483143656222678723617764586826350928747474366746593079282080501565859402166884818402721909226979370809408774598305372366324022526391307845011736946602338267951389450620059880839845574200135281351584330463507370495974012473127571340647450941142988034283084116727091178291918317863076646033235212001226644720063655904142163968 )
def tri_4096(x): _1 = x _10 = fp_sqr(_1) _100 = fp_sqr(_10) _101 = fp_mul(_1, _100) _1010 = fp_sqr(_101) _1011 = fp_mul(_1, _1010) _1101 = fp_mul(_10, _1011) _11010 = fp_sqr(_1101) _11111 = fp_mul(_101, _11010) _100011 = fp_mul(_100, _11111) _100101 = fp_mul(_10, _100011) _110000 = fp_mul(_1011, _100101) _1100000 = fp_sqr(_110000) _1100001 = fp_mul(_1, _1100000) i17 = fp_mul(fp_mul(fp_exp(_1100001, 4), _1100001), _1101) i18 = fp_mul(_110000, i17) i19 = fp_mul(_1100001, i18) i20 = fp_mul(_100101, i19) i21 = fp_mul(_100011, i20) i22 = fp_mul(i20, i21) i23 = fp_mul(i17, i22) i24 = fp_mul(i22, i23) i25 = fp_mul(i19, i24) i26 = fp_mul(i18, i25) i27 = fp_mul(i23, i26) i28 = fp_mul(i24, i27) i29 = fp_mul(i26, i28) i31 = fp_mul(fp_sqr(i29), i25) i32 = fp_mul(i28, i31) i33 = fp_mul(i27, i32) i35 = fp_mul(fp_sqr(i33), i29) i36 = fp_mul(i21, i35) i37 = fp_mul(i32, i36) i38 = fp_mul(i33, i37) i39 = fp_mul(i31, i38) i40 = fp_mul(i35, i39) i43 = fp_mul(fp_mul(fp_sqr(i40), i40), i38) i44 = fp_mul(i36, i43) i45 = fp_mul(i39, i44) i48 = fp_mul(fp_exp(i45, 4), i44) i49 = fp_mul(i40, i48) i50 = fp_mul(i45, i49) i51 = fp_mul(i37, i50) i53 = fp_mul(fp_sqr(i51), i43) i54 = fp_mul(i48, i53) i55 = fp_mul(i53, i54) i56 = fp_mul(i54, i55) i58 = fp_mul(fp_sqr(i56), i50) i59 = fp_mul(i56, i58) i60 = fp_mul(i51, i59) i61 = fp_mul(i49, i60) i62 = fp_mul(i59, i61) i64 = fp_mul(fp_sqr(i62), i61) i65 = fp_mul(i60, i64) i66 = fp_mul(i55, i65) i67 = fp_mul(i62, i66) i70 = fp_mul(fp_exp(i67, 4), i65) i71 = fp_mul(i58, i70) i72 = fp_mul(i66, i71) i73 = fp_mul(i64, i72) i74 = fp_mul(i67, i73) i76 = fp_mul(fp_sqr(i74), i71) i77 = fp_mul(i73, i76) i79 = fp_mul(fp_sqr(i77), i70) i80 = fp_mul(i77, i79) i81 = fp_mul(i74, i80) i83 = fp_mul(fp_sqr(i81), i79) i84 = fp_mul(i80, i83) i85 = fp_mul(i72, i84) i86 = fp_mul(i83, i85) i87 = fp_mul(i76, i86) i88 = fp_mul(i81, i87) i91 = fp_mul(fp_mul(fp_sqr(i88), i88), i86) i94 = fp_mul(fp_mul(fp_sqr(i91), i91), i88) i95 = fp_mul(i85, i94) i96 = fp_mul(i87, i95) i97 = fp_mul(i94, i96) i98 = fp_mul(i95, i97) i99 = fp_mul(i84, i98) i100 = fp_mul(i98, i99) i101 = fp_mul(i97, i100) i102 = fp_mul(i100, i101) i103 = fp_mul(i91, i102) i104 = fp_mul(i99, i103) i105 = fp_mul(i96, i104) i106 = fp_mul(i102, i105) i107 = fp_mul(i103, i106) i108 = fp_mul(i101, i107) i109 = fp_mul(i104, i108) i110 = fp_mul(i107, i109) i111 = fp_mul(i105, i110) i112 = fp_mul(i108, i111) i113 = fp_mul(i109, i112) i114 = fp_mul(i106, i113) i115 = fp_mul(i110, i114) i116 = fp_mul(i111, i115) i117 = fp_mul(i113, i116) i119 = fp_mul(fp_sqr(i117), i114) i120 = fp_mul(i112, i119) i122 = fp_mul(fp_sqr(i120), i117) i123 = fp_mul(i116, i122) i124 = fp_mul(i119, i123) i125 = fp_mul(i115, i124) i128 = fp_mul(fp_mul(fp_sqr(i125), i125), i120) i129 = fp_mul(i123, i128) i131 = fp_mul(fp_sqr(i129), i122) i132 = fp_mul(i124, i131) i135 = fp_mul(fp_mul(fp_sqr(i132), i132), i125) i136 = fp_mul(i132, i135) i137 = fp_mul(i131, i136) i138 = fp_mul(i135, i137) i139 = fp_mul(i137, i138) i141 = fp_mul(fp_sqr(i139), i136) i142 = fp_mul(i128, i141) i143 = fp_mul(i141, i142) i144 = fp_mul(i138, i143) i145 = fp_mul(i142, i144) i146 = fp_mul(i129, i145) i148 = fp_mul(fp_sqr(i146), i139) i149 = fp_mul(i146, i148) i150 = fp_mul(i143, i149) i151 = fp_mul(i144, i150) i154 = fp_mul(fp_mul(fp_sqr(i151), i151), i145) i155 = fp_mul(i148, i154) i156 = fp_mul(i154, i155) i157 = fp_mul(i151, i156) i158 = fp_mul(i150, i157) i160 = fp_mul(fp_sqr(i158), i155) i161 = fp_mul(i157, i160) i162 = fp_mul(i160, i161) i163 = fp_mul(i149, i162) i164 = fp_mul(i158, i163) i165 = fp_mul(i163, i164) i166 = fp_mul(i156, i165) i168 = fp_mul(fp_sqr(i166), i162) i169 = fp_mul(i161, i168) i170 = fp_mul(i164, i169) i174 = fp_mul(fp_exp(fp_mul(fp_sqr(i170), i170), 2), i165) i175 = fp_mul(_11111, i174) i176 = fp_mul(i168, i175) i178 = fp_mul(fp_sqr(i176), i166) i181 = fp_mul(fp_mul(fp_sqr(i178), i178), i169) i182 = fp_mul(i178, i181) i183 = fp_mul(i176, i182) i184 = fp_mul(i182, i183) i187 = fp_mul(fp_mul(fp_sqr(i184), i184), i183) i188 = fp_mul(i184, i187) i189 = fp_mul(i175, i188) i190 = fp_mul(i181, i189) i191 = fp_mul(i188, i190) i193 = fp_mul(fp_sqr(i191), i170) i194 = fp_mul(i174, i193) i195 = fp_mul(i187, i194) i196 = fp_mul(i190, i195) i197 = fp_mul(i195, i196) i198 = fp_mul(i191, i197) i199 = fp_mul(i194, i198) i200 = fp_mul(i197, i199) i201 = fp_mul(i193, i200) i202 = fp_mul(i200, i201) i203 = fp_mul(i198, i202) i204 = fp_mul(i189, i203) i205 = fp_mul(i196, i204) i206 = fp_mul(i201, i205) i207 = fp_mul(i203, i206) i208 = fp_mul(i202, i207) i210 = fp_mul(fp_sqr(i208), i205) i211 = fp_mul(i204, i210) i212 = fp_mul(i199, i211) i213 = fp_mul(i207, i212) i214 = fp_mul(i208, i213) i215 = fp_mul(i211, i214) i217 = fp_mul(fp_sqr(i215), i210) i218 = fp_mul(i206, i217) i219 = fp_mul(i212, i218) i220 = fp_mul(i215, i219) i221 = fp_mul(i213, i220) i222 = fp_mul(i219, i221) i223 = fp_mul(i214, i222) i224 = fp_mul(i220, i223) i225 = fp_mul(i217, i224) i226 = fp_mul(i221, i225) i228 = fp_mul(fp_sqr(i226), i224) i229 = fp_mul(i225, i228) i230 = fp_mul(i222, i229) i232 = fp_mul(fp_sqr(i230), i223) i233 = fp_mul(i228, i232) i234 = fp_mul(i218, i233) i236 = fp_mul(fp_sqr(i234), i232) i237 = fp_mul(i233, i236) i238 = fp_mul(i230, i237) i239 = fp_mul(i234, i238) i240 = fp_mul(i226, i239) i241 = fp_mul(i236, i240) i244 = fp_mul(fp_mul(fp_sqr(i241), i241), i240) i245 = fp_mul(i239, i244) i246 = fp_mul(i244, i245) i248 = fp_mul(fp_sqr(i246), i237) i249 = fp_mul(i246, i248) i250 = fp_mul(i229, i249) i251 = fp_mul(i238, i250) i252 = fp_mul(i248, i251) i253 = fp_mul(i250, i252) i255 = fp_mul(fp_sqr(i253), i251) i256 = fp_mul(i252, i255) i257 = fp_mul(i245, i256) i258 = fp_mul(i253, i257) i260 = fp_mul(fp_sqr(i258), i255) i262 = fp_mul(fp_sqr(i260), i258) i263 = fp_mul(i256, i262) i264 = fp_mul(i260, i263) i265 = fp_mul(i257, i264) i266 = fp_mul(i262, i265) i267 = fp_mul(i249, i266) i268 = fp_mul(i263, i267) i269 = fp_mul(i266, i268) i270 = fp_mul(i241, i269) i271 = fp_mul(i269, i270) i272 = fp_mul(i267, i271) i273 = fp_mul(i265, i272) x123 = fp_mul(i264, i273) i275 = fp_mul(i271, x123) i276 = fp_mul(i270, i275) i277 = fp_mul(i268, i276) i280 = fp_mul(fp_mul(fp_sqr(i277), i277), i275) i281 = fp_mul(i272, i280) i282 = fp_mul(i273, i281) i283 = fp_mul(i281, i282) i284 = fp_mul(i280, i283) i285 = fp_mul(i276, i284) x128 = fp_mul(i277, i285) i676 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i283, 5444517870735015415413993718908291383296), i284), 1), 170141183460469231731687303715884105728), i282), 1), 680564733841876926926749214863536422912) i935 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(i285, i676), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1321 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i935, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i1580 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1321), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1966 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i1580, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2225 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1966), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i2611 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2225, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2870 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i2611), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3256 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2870, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i3515 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i3256), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3901 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i3515, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i4160 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i3901), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) return fp_mul(fp_exp(i4160, 10633823966279326983230456482242756608), x123)
def sq_3072(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _100 = fp_mul(_1, _11) _101 = fp_mul(_1, _100) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10011 = fp_mul(_100, _1111) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _100001 = fp_mul(_10, _11111) _100101 = fp_mul(_100, _100001) _100111 = fp_mul(_10, _100101) _101001 = fp_mul(_10, _100111) _101011 = fp_mul(_10, _101001) _101101 = fp_mul(_10, _101011) _101111 = fp_mul(_10, _101101) _110001 = fp_mul(_10, _101111) _110011 = fp_mul(_10, _110001) _110101 = fp_mul(_10, _110011) _111001 = fp_mul(_100, _110101) _111101 = fp_mul(_100, _111001) _111111 = fp_mul(_10, _111101) _1111110 = fp_sqr(_111111) _1111111 = fp_mul(_1, _1111110) _10110100 = fp_mul(_110101, _1111111) i53 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(_10110100, 64), _101111), 1), 64), _1111), 1), 128) i73 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_11101, i53), 1), 512), _101001), 1), 256), _10101) i96 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i73, 128), _101111), 1), 512), _100001), 1), 32) i113 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i96), 1), 64), _1001), 1), 256), _110001) i133 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i113, 32), _10101), 1), 16), _101), 1), 512) i147 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111001, i133), 1), 16), _101), 1), 128), _1011) i172 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i147, 256), _110101), 1), 32), _10111), 1), 1024) i190 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_100101, i172), 1), 64), _101011), 1), 512), _100101) i214 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i190, 128), _101111), 1), 64), _11), 1), 512) i234 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i214), 1), 128), _1011), 1), 1024), _10011) i261 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i234, 128), _111), 1), 1024), _100111), 1), 256) i282 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_100111, i261), 1), 512), _110101), 1), 512), _1111111) i303 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i282, 32), _11111), 1), 512), _100101), 1), 32) i319 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i303), 1), 64), _11011), 1), 128), _111101) i340 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i319, 64), _110101), 1), 64), _10111), 1), 128) i361 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_111111, i340), 1), 128), _10011), 1), 2048), _1001) i386 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i361, 1024), _111111), 1), 128), _100111), 1), 64) i400 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_11011, i386), 1), 128), _11011), 1), 16), _111) i423 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i400, 1024), _101011), 1), 64), _101011), 1), 32) i441 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i423), 1), 64), _11111), 1), 512), _101001) i463 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i441, 64), _100111), 1), 8), _101), 1), 2048) i477 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111101, i463), 1), 16), _1101), 1), 128), _1001) i502 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i477, 512), _11101), 1), 256), _100101), 1), 64) i518 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_101101, i502), 1), 64), _100001), 1), 128), _110001) i544 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i518, 64), _101), 1), 128), _101), 1), 2048) i557 = fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(fp_mul(_100001, i544), 2), _1), 1), 512), _1111111) i580 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i557, 64), _11001), 1), 256), _101011), 1), 128) i595 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i580), 1), 32), _1001), 1), 128), _11111) return fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i595, 128), _110011), 1), 32), _11101), 1), 27081263142182923706327232687195658070428245269515847892301960409193603497079267429599499960528359960959528695040131823079640006913802719873131394451528651722752913514197569737603884522462215747430864717556563140418952465231370340858980232933674360496286095284732772649814959911715515546312122231773894817720740695859908220802793394046073943338660699378330812357275863482151108777140894729391708472075600409086868809915846356388672978929559319374966287312445357447235529173652701857494948733493186158564161003131718804333769636805443818453958741618817549196610744732648045052782615690023473893204676535902778901240119761679691148400270562703168660927014740991948024946255142681294901882285976068566168233454182356583836635726153292066470424002453289440127311808284327936 )
def quint_1024(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _110 = fp_sqr(_11) _111 = fp_mul(_1, _110) _1001 = fp_mul(_10, _111) _1111 = fp_mul(_110, _1001) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _11001 = fp_mul(_110, _10011) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _100011 = fp_mul(_110, _11101) _100101 = fp_mul(_10, _100011) _100111 = fp_mul(_10, _100101) _101011 = fp_mul(_110, _100101) _101101 = fp_mul(_10, _101011) _101111 = fp_mul(_10, _101101) _110001 = fp_mul(_10, _101111) _110011 = fp_mul(_10, _110001) _110101 = fp_mul(_10, _110011) _110111 = fp_mul(_10, _110101) _111001 = fp_mul(_10, _110111) _111011 = fp_mul(_10, _111001) _111101 = fp_mul(_10, _111011) _111111 = fp_mul(_10, _111101) _1100100 = fp_mul(_100101, _111111) _1111111 = fp_mul(_11011, _1100100) _11001000 = fp_sqr(_1100100) _11111111 = fp_mul(_110111, _11001000) i32 = fp_sqr(_11001000) i33 = fp_sqr(_11111111) i34 = fp_sqr(i32) x10 = fp_mul(fp_sqr(i33), _11) i37 = fp_sqr(i34) i38 = fp_sqr(x10) i39 = fp_sqr(i37) i40 = fp_sqr(i38) i42 = fp_mul(fp_sqr(i39), _11001) i43 = fp_sqr(i40) i44 = fp_sqr(i42) i45 = fp_sqr(i43) i46 = fp_sqr(i44) i47 = fp_sqr(i45) i48 = fp_sqr(i46) x16 = fp_mul(fp_sqr(i47), _111111) i71 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i48, 64), _111101), 1), 32), _11011), 1), 256) i87 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111111, i71), 1), 32), _1001), 1), 256), _111001) i107 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i87, 64), _100111), 1), 64), _111011), 1), 64) i124 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101111, i107), 1), 32), _1001), 1), 512), _111111) i145 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i124, 64), _11001), 1), 128), _111101), 1), 64) i159 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_110001, i145), 1), 64), _100111), 1), 32), _11011) i187 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i159, 256), _1001), 1), 512), _110001), 1), 512) i203 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_111101, i187), 1), 64), _101101), 1), 128), _111011) i220 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i203, 32), _10101), 1), 128), _100011), 1), 8) i247 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i220), 1), 512), _11111), 1), 32768), _11111111) i270 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i247, 16), _11), 1), 1024), _11111111), 1), 128) i285 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_111001, i270), 1), 32), _10011), 1), 128), _101111) i305 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i285, 64), _100101), 1), 32), _10011), 1), 128) i321 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i305), 1), 32), _1001), 1), 256), _101101) i345 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i321, 64), _101011), 1), 1024), _110101), 1), 64) i362 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_110011, i345), 1), 64), _110011), 1), 256), _100111) i390 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i362, 16384), x10), 1), 128), _100101), 1), 32) i412 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_1001, i390), 1), 16384), _110111), 1), 32), _10011) i439 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i412, 4096), x10), 1), 64), _10001), 1), 128) i454 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_111011, i439), 1), 64), _111001), 1), 64), _111011) i477 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i454, 256), _1111111), 1), 128), _110111), 1), 64) i503 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_101111, i477), 1), 512), _110111), 1), 16384), _100101) i526 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i503, 16), _1111), 1), 2048), _110111), 1), 64) i537 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i526), 1), 64), _11101), 1), 4), _1) i564 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i537, 32768), _110011), 1), 32), _10101), 1), 32) i585 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_111, i564), 1), 4096), _101111), 1), 64), _10101) i610 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i585, 128), _11101), 1), 1024), _111011), 1), 64) i646 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_111101, i610), 1), 131072), x16), 1), 65536), x16) i696 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i646, 65536), x16), 1), 65536), x16), 1), 65536) i731 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i696), 1), 65536), x16), 1), 65536), x16) i781 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i731, 65536), x16), 1), 65536), x16), 1), 65536) i816 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i781), 1), 65536), x16), 1), 65536), x16) i866 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i816, 65536), x16), 1), 65536), x16), 1), 65536) i901 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i866), 1), 65536), x16), 1), 65536), x16) i951 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i901, 65536), x16), 1), 65536), x16), 1), 65536) i986 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i951), 1), 65536), x16), 1), 65536), x16) i1036 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i986, 65536), x16), 1), 65536), x16), 1), 65536) i1071 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i1036), 1), 65536), x16), 1), 65536), x16) i1121 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1071, 65536), x16), 1), 65536), x16), 1), 65536) return fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x16, i1121), 1), 65536), x16), 1), 65536), x16)
def quart_1792(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111110 = fp_sqr(_11111) _111111 = fp_mul(_1, _111110) _1111110 = fp_sqr(_111111) _1111111 = fp_mul(_1, _1111110) i42 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_1111111, 64), _1101), 1), 512), _11001), 1), 32) i55 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i42), 1), 32), _11001), 1), 32), _1001) i79 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i55, 256), _1011), 1), 16), _1), 1), 1024) i88 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i79), 1), 8), _101), 1), 8), _1) i109 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i88, 512), _11001), 1), 32), _11001), 1), 32) i125 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111, i109), 1), 256), _10011), 1), 32), _11011) i145 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i125, 64), _11111), 1), 256), _10101), 1), 16) i160 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i145), 1), 128), _111), 1), 32), _11) i177 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i160, 64), _101), 1), 32), _11), 1), 16) i196 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i177), 1), 1024), _101), 1), 64), _1001) i214 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i196, 32), _1001), 1), 64), _10111), 1), 32) i237 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_101, i214), 1), 32768), _11101), 1), 32), _10101) i257 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_sqr(i237), _1), 1), 2048), _1111111), 1), 64) i273 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i257), 1), 64), _1111), 1), 128), _11101) i290 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i273, 32), _1111), 1), 64), _10101), 1), 16) i307 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i290), 1), 128), _11), 1), 128), _1101) i334 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i307, 8), _1), 1), 8192), _10111), 1), 512) i351 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i334), 1), 8), _11), 1), 2048), _11011) i375 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i351, 32), _10011), 1), 256), _11111), 1), 512) i390 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i375), 1), 16), _1111), 1), 256), _11011) i410 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i390, 128), _11011), 1), 256), _111), 1), 8) i430 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i410), 1), 512), _10011), 1), 256), _1) i451 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i430, 512), _111111), 1), 16), _1), 1), 64) i468 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i451), 1), 256), _11101), 1), 64), _11001) i488 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i468, 4), _11), 1), 128), _1011), 1), 512) i502 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i488), 1), 64), _11001), 1), 32), _10011) i520 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i502, 8), _11), 1), 128), _1111), 1), 64) i534 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11011, i520), 1), 32), _10101), 1), 64), _11101) i555 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i534, 32), _11101), 1), 128), _1101), 1), 128) i569 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i555), 1), 32), _1101), 1), 64), _11001) i594 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i569, 8192), _11011), 1), 128), _10101), 1), 8) return fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i594), 1), 128), _1011), 1), 2601983048666099770481310081841021384653815561816676201329778087600902014918340074503059860433081046210605403488570251947845891562080866227034976651419330190731032377347305086443295837415395887618239855136922452802923419286887119716740625346109565072933087221327790207134604146257063901166556207972729700461767055550785130256674608872183239507219512717434046725178680177638925792182272 )
def novem_1792(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111110 = fp_sqr(_11111) _111111 = fp_mul(_1, _111110) _1000100 = fp_mul(_101, _111111) _11111100 = fp_exp(_111111, 4) _11111111 = fp_mul(_11, _11111100) i23 = fp_mul(_10001, _11111111) i24 = fp_sqr(_11111111) i26 = fp_mul(fp_sqr(i23), _10101) i27 = fp_sqr(i24) i28 = fp_sqr(i26) i29 = fp_sqr(i27) i30 = fp_sqr(i28) i31 = fp_sqr(i29) i32 = fp_sqr(i30) i33 = fp_sqr(i31) i34 = fp_sqr(i32) i35 = fp_sqr(i33) i37 = fp_mul(fp_sqr(i34), _1011) i38 = fp_sqr(i35) i39 = fp_sqr(i37) x16 = fp_mul(fp_sqr(i38), _11111111) i42 = fp_sqr(i39) i43 = fp_sqr(x16) i44 = fp_sqr(i42) i45 = fp_sqr(i43) i46 = fp_sqr(i44) i47 = fp_sqr(i45) i49 = fp_mul(fp_sqr(i46), _111) i50 = fp_sqr(i47) i51 = fp_sqr(i49) i52 = fp_sqr(i50) i53 = fp_sqr(i51) i54 = fp_sqr(i52) i55 = fp_sqr(i53) i56 = fp_sqr(i54) i57 = fp_sqr(i55) i58 = fp_sqr(i56) i59 = fp_sqr(i57) i60 = fp_sqr(i58) i61 = fp_sqr(i59) i62 = fp_sqr(i60) i63 = fp_sqr(i61) i64 = fp_sqr(i62) i66 = fp_mul(fp_sqr(i63), _11101) i67 = fp_sqr(i64) i68 = fp_sqr(i66) i69 = fp_sqr(i67) i70 = fp_sqr(i68) i71 = fp_sqr(i69) i72 = fp_sqr(i70) i73 = fp_sqr(i71) i74 = fp_sqr(i72) x32 = fp_mul(fp_sqr(i73), x16) i91 = fp_exp( fp_exp(fp_mul(fp_exp(fp_mul(fp_exp(i74, 16), _11001), 2), _1), 1), 256) i110 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111111, i91), 1), 256), _1001), 1), 256), _1111) i138 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i110, 64), _1101), 1), 32768), _11011), 1), 32) i151 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11011, i138), 1), 8), _111), 1), 128), _11001) i167 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i151, 32), _11101), 1), 16), _1111), 1), 32) i184 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111, i167), 1), 64), _10101), 1), 256), _11) i211 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i184, 32), _11), 1), 1024), _10101), 1), 1024) i226 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i211), 1), 32), _101), 1), 128), _1011) i245 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i226, 64), _11111), 1), 16), _101), 1), 128) i259 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i245), 1), 32), _11001), 1), 64), _11001) i275 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i259, 32), _11011), 1), 32), _1111), 1), 16) i288 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101, i275), 1), 64), _1101), 1), 16), _111) i313 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i288, 128), _11001), 1), 128), _11), 1), 512) i327 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001, i313), 1), 16), _101), 1), 128), _10001) i347 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i327, 32), _10101), 1), 64), _11011), 1), 128) i362 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_1111, i347), 1), 1024), _10111), 1), 4), _1) i381 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i362, 128), _111111), 1), 128), _10101), 1), 8) i400 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i381), 1), 256), _11011), 1), 256), _1011) i419 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i400, 32), _1001), 1), 64), _10001), 1), 64) i437 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10111, i419), 1), 512), _111111), 1), 64), _1111) i457 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i437, 32), _1), 1), 512), _11011), 1), 16) i471 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001, i457), 1), 128), _11001), 1), 16), _1011) i493 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i471, 8), _11), 1), 1024), _11111111), 1), 128) i511 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_11111, i493), 1), 256), _11111), 1), 128), _111111) i529 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i511, 64), _10111), 1), 16), _111), 1), 64) i544 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i529), 1), 32), _101), 1), 128), _11111) i563 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i544, 64), _10111), 1), 8), _101), 1), 256) i582 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10011, i563), 1), 2048), _10101), 1), 32), _10001) i601 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i582, 32), _1111), 1), 16), _11), 1), 256) i618 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i601), 1), 8), _1), 1), 2048), _11111111) i664 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i618, 32), _1111), 1), 64), _11111), 1), 8589934592) i731 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i664), 1), 4294967296), x32), 1), 4294967296), x32) i829 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i731, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i896 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i829), 1), 4294967296), x32), 1), 4294967296), x32) i994 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i896, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1061 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i994), 1), 4294967296), x32), 1), 4294967296), x32) i1159 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1061, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1226 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1159), 1), 4294967296), x32), 1), 4294967296), x32) i1324 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1226, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1391 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1324), 1), 4294967296), x32), 1), 4294967296), x32) i1489 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1391, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1556 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1489), 1), 4294967296), x32), 1), 4294967296), x32) i1654 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1556, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1721 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1654), 1), 4294967296), x32), 1), 4294967296), x32) i1819 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1721, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i1886 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1819), 1), 4294967296), x32), 1), 4294967296), x32) return fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1886, 4294967296), x32), 1), 4294967296), x32)
def sq_2048(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _110010 = fp_mul(_10011, _11111) _111111 = fp_mul(_1101, _110010) i36 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_110010, 8), _101), 1), 128), _11101), 1), 64) i52 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001, i36), 1), 128), _111111), 1), 64), _10011) i75 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i52, 64), _1011), 1), 1024), _11111), 1), 32) i91 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i75), 1), 256), _10011), 1), 32), _11001) i110 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i91, 4), _11), 1), 2048), _10111), 1), 16) i123 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i110), 1), 64), _10001), 1), 16), _11) i143 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i123, 128), _1001), 1), 128), _10011), 1), 16) i158 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i143), 1), 64), _1001), 1), 64), _11111) i177 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i158, 32), _1101), 1), 128), _1011), 1), 32) i192 = fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i177), 1), 8), _1), 1), 512), _11111) i216 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i192, 128), _1011), 1), 256), _10101), 1), 128) i228 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i216), 1), 16), _1101), 1), 32), _1011) i249 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i228, 64), _11101), 1), 256), _1111), 1), 32) i271 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101, i249), 1), 1024), _10001), 1), 512), _111111) i295 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i271, 1024), _111), 1), 32), _101), 1), 128) i315 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i295), 1), 1024), _1111), 1), 128), _10001) i336 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i315, 32), _11011), 1), 256), _111), 1), 64) i349 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i336), 1), 128), _11001), 1), 8), _101) i369 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i349, 32), _11), 1), 512), _10011), 1), 16) i384 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i369), 1), 32), _101), 1), 128), _11111) i402 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i384, 64), _11101), 1), 16), _1101), 1), 64) i419 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i402), 1), 64), _1001), 1), 256), _10001) i442 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i419, 8), _11), 1), 1024), _10011), 1), 256) i454 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i442), 1), 64), _1111), 1), 8), _1) i471 = fp_exp( fp_exp(fp_mul(fp_exp(fp_mul(fp_exp(i454, 512), _111111), 2), _1), 1), 32) i488 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i471), 1), 512), _11111), 1), 32), _1001) i507 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i488, 8), _11), 1), 256), _1001), 1), 64) i519 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i507), 1), 64), _10011), 1), 8), _101) i540 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i519, 128), _11001), 1), 64), _10001), 1), 64) i553 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i540), 1), 32), _10101), 1), 32), _1111) i572 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i553, 64), _1011), 1), 16), _111), 1), 128) i586 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i572), 1), 16), _1011), 1), 128), _11011) i605 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i586, 4), _11), 1), 256), _11101), 1), 128) return fp_exp( fp_exp(fp_mul(_1001, i605), 1), 602578106730258147145029151507078528228023311986422237839918759766314347897950800167271256026836512415862191570222001196965604244698739581242403246972693662863803334845406306192695519479420374919211385784346955014399336464476149777365346780524876991249453910335575169407368338820404357102948540991946467592592242277305397985763558002890689612520144896962725248428723070869161657795378765951218343795565126561748209474676492753131460831100308246714251190084829184 )
def novem_3072(x): _1 = x _10 = fp_sqr(_1) _100 = fp_sqr(_10) _101 = fp_mul(_1, _100) _111 = fp_mul(_10, _101) _1110 = fp_sqr(_111) _1111 = fp_mul(_1, _1110) _10110 = fp_mul(_111, _1111) _11011 = fp_mul(_101, _10110) _110001 = fp_mul(_10110, _11011) _110110 = fp_mul(_101, _110001) _110111 = fp_mul(_1, _110110) _1101101 = fp_mul(_110110, _110111) _10100100 = fp_mul(_110111, _1101101) i15 = fp_mul(fp_sqr(_10100100), _110001) i16 = fp_mul(_10, i15) i17 = fp_mul(_10100100, i16) i19 = fp_mul(fp_sqr(i17), _1101101) i21 = fp_mul(fp_sqr(i19), i15) i24 = fp_mul(fp_exp(i21, 4), i16) i25 = fp_mul(i19, i24) i26 = fp_mul(i21, i25) i27 = fp_mul(_11011, i26) i30 = fp_mul(fp_mul(fp_sqr(i27), i27), i24) i31 = fp_mul(i26, i30) i32 = fp_mul(i17, i31) i33 = fp_mul(i25, i32) i34 = fp_mul(i27, i33) i35 = fp_mul(i33, i34) i36 = fp_mul(i31, i35) i38 = fp_mul(fp_sqr(i36), i34) i39 = fp_mul(i30, i38) i40 = fp_mul(i32, i39) i41 = fp_mul(i35, i40) i42 = fp_mul(i36, i41) i43 = fp_mul(i39, i42) i45 = fp_mul(fp_sqr(i43), i38) i46 = fp_mul(i42, i45) i47 = fp_mul(i41, i46) i48 = fp_mul(i40, i47) i49 = fp_mul(i46, i48) i50 = fp_mul(i47, i49) i51 = fp_mul(i43, i50) i52 = fp_mul(i49, i51) i53 = fp_mul(i50, i52) i54 = fp_mul(i48, i53) i55 = fp_mul(i52, i54) i56 = fp_mul(i45, i55) i57 = fp_mul(i51, i56) i58 = fp_mul(i53, i57) i59 = fp_mul(i57, i58) i60 = fp_mul(i56, i59) i61 = fp_mul(i54, i60) i62 = fp_mul(i60, i61) i63 = fp_mul(i59, i62) i64 = fp_mul(i61, i63) i65 = fp_mul(i55, i64) i66 = fp_mul(i58, i65) i69 = fp_mul(fp_mul(fp_sqr(i66), i66), i63) i70 = fp_mul(i65, i69) i71 = fp_mul(i64, i70) i72 = fp_mul(i70, i71) i73 = fp_mul(i62, i72) i74 = fp_mul(i66, i73) i75 = fp_mul(i72, i74) i76 = fp_mul(i73, i75) i77 = fp_mul(i74, i76) i78 = fp_mul(i75, i77) i79 = fp_mul(i71, i78) i80 = fp_mul(i69, i79) i81 = fp_mul(i78, i80) i82 = fp_mul(i79, i81) i83 = fp_mul(i81, i82) i84 = fp_mul(i77, i83) i85 = fp_mul(i76, i84) i86 = fp_mul(i84, i85) i87 = fp_mul(i82, i86) i88 = fp_mul(i83, i87) i89 = fp_mul(i80, i88) i90 = fp_mul(i85, i89) i94 = fp_mul(fp_mul(fp_exp(i90, 4), i90), i89) i95 = fp_mul(i86, i94) i96 = fp_mul(i87, i95) i98 = fp_mul(fp_sqr(i96), i94) i99 = fp_mul(i95, i98) i100 = fp_mul(i96, i99) i101 = fp_mul(i90, i100) i102 = fp_mul(i88, i101) i104 = fp_mul(fp_sqr(i102), i100) i105 = fp_mul(i98, i104) i106 = fp_mul(i99, i105) i107 = fp_mul(i102, i106) i108 = fp_mul(i105, i107) i109 = fp_mul(i101, i108) i110 = fp_mul(i108, i109) i111 = fp_mul(i107, i110) i112 = fp_mul(i104, i111) i114 = fp_mul(fp_sqr(i112), i106) i115 = fp_mul(i111, i114) i120 = fp_mul(fp_mul(fp_exp(fp_mul(fp_sqr(i115), i115), 2), i115), i112) i121 = fp_mul(i115, i120) i123 = fp_mul(fp_sqr(i121), i109) i124 = fp_mul(i110, i123) i125 = fp_mul(i121, i124) i126 = fp_mul(i120, i125) i128 = fp_mul(fp_sqr(i126), i124) i129 = fp_mul(i114, i128) i130 = fp_mul(i123, i129) i131 = fp_mul(i128, i130) i132 = fp_mul(i126, i131) i133 = fp_mul(i131, i132) i134 = fp_mul(i125, i133) i136 = fp_mul(fp_sqr(i134), i132) i137 = fp_mul(i130, i136) i139 = fp_mul(fp_sqr(i137), i129) i141 = fp_mul(fp_sqr(i139), i137) i142 = fp_mul(i134, i141) i143 = fp_mul(i133, i142) i144 = fp_mul(i142, i143) i145 = fp_mul(i139, i144) i146 = fp_mul(i136, i145) i147 = fp_mul(i144, i146) i151 = fp_mul(fp_mul(fp_exp(i147, 4), i147), i146) i152 = fp_mul(i147, i151) i153 = fp_mul(i141, i152) i154 = fp_mul(i145, i153) i155 = fp_mul(i151, i154) i156 = fp_mul(i154, i155) i157 = fp_mul(i143, i156) i158 = fp_mul(i152, i157) i159 = fp_mul(i156, i158) i160 = fp_mul(i157, i159) i161 = fp_mul(i153, i160) i162 = fp_mul(i155, i161) i164 = fp_mul(fp_sqr(i162), i159) i165 = fp_mul(i162, i164) i166 = fp_mul(i160, i165) i167 = fp_mul(i165, i166) i168 = fp_mul(i158, i167) i169 = fp_mul(i164, i168) i170 = fp_mul(i168, i169) i171 = fp_mul(i161, i170) i172 = fp_mul(i169, i171) i173 = fp_mul(i166, i172) i174 = fp_mul(i167, i173) i175 = fp_mul(i171, i174) i176 = fp_mul(i173, i175) i178 = fp_mul(fp_sqr(i176), i175) i179 = fp_mul(i170, i178) i180 = fp_mul(i172, i179) i182 = fp_mul(fp_sqr(i180), i174) i186 = fp_mul(fp_mul(fp_exp(i182, 4), i182), i179) i187 = fp_mul(i178, i186) i188 = fp_mul(i180, i187) i191 = fp_mul(fp_mul(fp_sqr(i188), i188), i176) i192 = fp_mul(i187, i191) i193 = fp_mul(i188, i192) i194 = fp_mul(i182, i193) i195 = fp_mul(i186, i194) i196 = fp_mul(i193, i195) i197 = fp_mul(i194, i196) i198 = fp_mul(i191, i197) i199 = fp_mul(i196, i198) i201 = fp_mul(fp_sqr(i199), i197) i202 = fp_mul(i192, i201) i203 = fp_mul(i199, i202) i204 = fp_mul(i201, i203) i205 = fp_mul(_1111, i204) i207 = fp_mul(fp_sqr(i205), i203) i208 = fp_mul(i202, i207) i209 = fp_mul(i198, i208) i210 = fp_mul(i208, i209) i211 = fp_mul(i205, i210) i213 = fp_mul(fp_sqr(i211), i195) i214 = fp_mul(i207, i213) i215 = fp_mul(i210, i214) i216 = fp_mul(i213, i215) i217 = fp_mul(i204, i216) i218 = fp_mul(i215, i217) i219 = fp_mul(i217, i218) i221 = fp_mul(fp_sqr(i219), i214) i222 = fp_mul(i211, i221) i223 = fp_mul(i216, i222) i226 = fp_mul(fp_mul(fp_sqr(i223), i223), i209) i227 = fp_mul(i219, i226) i229 = fp_mul(fp_sqr(i227), i218) i230 = fp_mul(i221, i229) i231 = fp_mul(i222, i230) i232 = fp_mul(i223, i231) i233 = fp_mul(i230, i232) i234 = fp_mul(i229, i233) i235 = fp_mul(i227, i234) i236 = fp_mul(i232, i235) i237 = fp_mul(i226, i236) i239 = fp_mul(fp_sqr(i237), i235) i240 = fp_mul(i234, i239) i241 = fp_mul(i231, i240) i242 = fp_mul(i236, i241) i243 = fp_mul(i239, i242) i244 = fp_mul(i233, i243) i245 = fp_mul(i242, i244) i246 = fp_mul(i241, i245) i247 = fp_mul(i243, i246) i248 = fp_mul(i245, i247) i249 = fp_mul(i246, i248) i250 = fp_mul(i240, i249) i251 = fp_mul(i244, i250) i252 = fp_mul(i247, i251) i255 = fp_mul(fp_mul(fp_sqr(i252), i252), i249) i256 = fp_mul(i251, i255) i258 = fp_mul(fp_sqr(i256), i255) i259 = fp_mul(i252, i258) i260 = fp_mul(i250, i259) i262 = fp_mul(fp_sqr(i260), i259) i263 = fp_mul(i260, i262) i264 = fp_mul(i237, i263) i265 = fp_mul(i258, i264) i266 = fp_mul(i262, i265) i267 = fp_mul(i263, i266) i268 = fp_mul(i266, i267) i269 = fp_mul(i256, i268) i270 = fp_mul(i264, i269) i271 = fp_mul(i248, i270) i272 = fp_mul(i267, i271) i273 = fp_mul(i268, i272) x124 = fp_mul(i272, i273) i276 = fp_mul(fp_sqr(x124), i271) i277 = fp_mul(i273, i276) i278 = fp_mul(i270, i277) i280 = fp_mul(fp_mul(i265, i278), i269) i281 = fp_mul(i277, i280) i282 = fp_mul(i278, i281) i283 = fp_sqr(i281) i284 = fp_mul(i264, i283) x128 = fp_mul(i280, i284) i673 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i283, 85070591730234615865843651857942052864), i276), 1), 2722258935367507707706996859454145691648), i282), 1), 680564733841876926926749214863536422912) i932 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(i284, i673), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1318 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i932, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i1577 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1318), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1963 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i1577, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2222 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1963), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i2608 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2222, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2867 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i2608), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3249 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2867, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 21267647932558653966460912964485513216) return fp_mul(x124, i3249)
def sq_1024(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111110 = fp_sqr(_11111) _111111 = fp_mul(_1, _111110) _1010000 = fp_mul(_10001, _111111) i37 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_1010000, 8), _11101), 1), 32), _1001), 1), 256) i51 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i37), 1), 4), _11), 1), 512), _101) i70 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i51, 256), _1001), 1), 32), _1101), 1), 16) i86 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_101, i70), 1), 128), _111111), 1), 64), _111) i106 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i86, 128), _10111), 1), 32), _10011), 1), 64) i119 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i106), 1), 16), _101), 1), 64), _1111) i139 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i119, 128), _1001), 1), 32), _1011), 1), 64) i158 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10001, i139), 1), 128), _11001), 1), 512), _111111) i181 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i158, 128), _10001), 1), 32), _11), 1), 512) i195 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i181), 1), 4), _11), 1), 512), _11011) i213 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i195, 32), _10101), 1), 16), _1111), 1), 128) i231 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001, i213), 1), 1024), _1101), 1), 32), _1001) i249 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i231, 64), _10101), 1), 32), _10101), 1), 32) i272 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i249), 1), 32768), _1001), 1), 32), _101) i291 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i272, 128), _10101), 1), 64), _10111), 1), 16) i307 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i291), 1), 128), _11111), 1), 64), _11011) i323 = fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i307, 128), _10011), 1), 64), _10111), 2) i341 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i323), 1), 4096), _111111), 1), 8), _111) i360 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i341, 64), _10111), 1), 32), _10001), 1), 64) i377 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_10101, i360), 1), 512), _10011), 1), 32), _1111) i403 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i377, 4096), _10111), 1), 128), _10101), 1), 32) i417 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i403), 1), 16), _101), 1), 128), _10111) i439 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i417, 64), _10001), 1), 16), _1101), 1), 1024) i452 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i439), 1), 16), _1001), 1), 64), _10011) i469 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i452, 16), _111), 1), 32), _111), 1), 64) i483 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001, i469), 1), 64), _11011), 1), 32), _10101) i501 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i483, 64), _11101), 1), 64), _1111), 1), 16) i518 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i501), 1), 1024), _11011), 1), 16), _1001) i535 = fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i518, 32), _11), 1), 512), _10101), 2) i555 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i535), 1), 1024), _11), 1), 128), _1011) i575 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i555, 64), _1011), 1), 32), _1001), 1), 128) i597 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i575), 1), 1024), _10111), 1), 512), _11101) return fp_exp( fp_exp(fp_mul(fp_exp(i597, 64), _1101), 1), 3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024 )
def inv_4096(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _100 = fp_mul(_1, _11) _101 = fp_mul(_1, _100) _111 = fp_mul(_10, _101) _1011 = fp_mul(_100, _111) _10110 = fp_sqr(_1011) _10111 = fp_mul(_1, _10110) _11100 = fp_mul(_101, _10111) _100011 = fp_mul(_111, _11100) _111010 = fp_mul(_10111, _100011) _1110100 = fp_sqr(_111010) _1110101 = fp_mul(_1, _1110100) _10101111 = fp_mul(_111010, _1110101) _11010010 = fp_mul(_100011, _10101111) i17 = fp_mul(fp_sqr(_11010010), _1) i20 = fp_mul(fp_exp(fp_mul(_111, i17), 2), _1) i21 = fp_mul(i17, i20) i22 = fp_mul(_10101111, i21) i23 = fp_mul(_11100, i22) i24 = fp_mul(i21, i23) i25 = fp_mul(i22, i24) i26 = fp_mul(i24, i25) i27 = fp_mul(i23, i26) i28 = fp_mul(i20, i27) i29 = fp_mul(_1110101, i28) i30 = fp_mul(i27, i29) i31 = fp_mul(i29, i30) i32 = fp_mul(i25, i31) i34 = fp_exp(fp_mul(i26, i32), 2) i35 = fp_mul(i30, i34) i38 = fp_mul(fp_exp(fp_mul(i28, i35), 2), _1) i39 = fp_mul(i35, i38) i40 = fp_mul(i31, i39) i41 = fp_mul(i34, i40) i42 = fp_mul(i39, i41) i43 = fp_mul(i40, i42) i45 = fp_exp(fp_mul(i41, i43), 2) i46 = fp_mul(i38, i45) i47 = fp_mul(i45, i46) i48 = fp_mul(i42, i47) i51 = fp_mul(fp_exp(fp_mul(i32, i48), 2), _1) i52 = fp_mul(i47, i51) i53 = fp_mul(i46, i52) i54 = fp_mul(i43, i53) i55 = fp_mul(i48, i54) i56 = fp_mul(i51, i55) i57 = fp_mul(i54, i56) i58 = fp_mul(i52, i57) i59 = fp_mul(i53, i58) i62 = fp_mul(fp_exp(fp_mul(i55, i59), 2), _1) i63 = fp_mul(i57, i62) i64 = fp_mul(i58, i63) i65 = fp_mul(i56, i64) i66 = fp_mul(i64, i65) i68 = fp_exp(fp_mul(i65, i66), 2) i69 = fp_mul(i63, i68) i70 = fp_mul(i59, i69) i71 = fp_mul(i66, i70) i72 = fp_mul(i62, i71) i73 = fp_mul(i69, i72) i74 = fp_mul(i72, i73) i75 = fp_mul(i68, i74) i76 = fp_mul(i71, i75) i77 = fp_mul(i70, i76) i78 = fp_mul(i76, i77) i80 = fp_exp(fp_mul(i75, i78), 2) i81 = fp_mul(i77, i80) i82 = fp_mul(i73, i81) i84 = fp_exp(fp_mul(i78, i82), 2) i85 = fp_mul(i80, i84) i86 = fp_mul(i82, i85) i87 = fp_mul(i81, i86) i89 = fp_exp(fp_mul(i74, i87), 2) i90 = fp_mul(i84, i89) i91 = fp_mul(i89, i90) i92 = fp_mul(i85, i91) i93 = fp_mul(i90, i92) i94 = fp_mul(i92, i93) i96 = fp_exp(fp_mul(i86, i94), 2) i97 = fp_mul(i93, i96) i98 = fp_mul(i91, i97) i99 = fp_mul(i87, i98) i102 = fp_mul(fp_exp(fp_mul(i96, i99), 2), _1) i105 = fp_mul(fp_exp(fp_mul(i97, i102), 2), _1) i106 = fp_mul(i98, i105) i107 = fp_mul(i94, i106) i110 = fp_mul(fp_exp(fp_mul(i99, i107), 2), _1) i111 = fp_mul(i106, i110) i112 = fp_mul(i110, i111) i113 = fp_mul(i105, i112) i114 = fp_mul(i107, i113) i115 = fp_mul(i111, i114) i116 = fp_mul(i112, i115) i119 = fp_mul(fp_exp(fp_mul(i102, i116), 2), _1) i120 = fp_mul(i113, i119) i121 = fp_mul(i114, i120) i122 = fp_mul(i116, i121) i123 = fp_mul(i121, i122) i124 = fp_mul(i122, i123) i125 = fp_mul(i120, i124) i126 = fp_mul(i124, i125) i127 = fp_mul(i119, i126) i128 = fp_mul(i115, i127) i129 = fp_mul(i123, i128) i130 = fp_mul(i126, i129) i131 = fp_mul(i125, i130) i135 = fp_mul(fp_exp(fp_exp(fp_mul(i127, i131), 1), 4), _11) i136 = fp_mul(i130, i135) i137 = fp_mul(i135, i136) i138 = fp_mul(i129, i137) i139 = fp_mul(i131, i138) i140 = fp_mul(i138, i139) i141 = fp_mul(i139, i140) i142 = fp_mul(i136, i141) i143 = fp_mul(i140, i142) i144 = fp_mul(i128, i143) i145 = fp_mul(i137, i144) i146 = fp_mul(i141, i145) i147 = fp_mul(i144, i146) i148 = fp_mul(i142, i147) i149 = fp_mul(i143, i148) i150 = fp_mul(i147, i149) i151 = fp_mul(i145, i150) i154 = fp_mul(fp_exp(fp_mul(i146, i151), 2), _1) i155 = fp_mul(i149, i154) i156 = fp_mul(i151, i155) i157 = fp_mul(i148, i156) i158 = fp_mul(i150, i157) i159 = fp_mul(i157, i158) i160 = fp_mul(i156, i159) i161 = fp_mul(i158, i160) i162 = fp_mul(i159, i161) i163 = fp_mul(i154, i162) i164 = fp_mul(i155, i163) i165 = fp_mul(i160, i164) i166 = fp_mul(i163, i165) i167 = fp_mul(i165, i166) i168 = fp_mul(i161, i167) i169 = fp_mul(i164, i168) i170 = fp_mul(i168, i169) i171 = fp_mul(i169, i170) i172 = fp_mul(i162, i171) i174 = fp_exp(fp_mul(i170, i172), 2) i175 = fp_mul(i171, i174) i176 = fp_mul(i172, i175) i177 = fp_mul(i166, i176) i178 = fp_mul(i176, i177) i179 = fp_mul(i167, i178) i180 = fp_mul(i177, i179) i181 = fp_mul(i174, i180) i182 = fp_mul(i180, i181) i186 = fp_mul(fp_exp(fp_exp(fp_mul(i181, i182), 1), 4), _11) i187 = fp_mul(i182, i186) i188 = fp_mul(i179, i187) i189 = fp_mul(i175, i188) i190 = fp_mul(i178, i189) i191 = fp_mul(i189, i190) i194 = fp_exp(fp_exp(fp_mul(i187, i191), 1), 4) i196 = fp_exp(fp_mul(i190, i194), 2) i197 = fp_mul(i188, i196) i198 = fp_mul(i196, i197) i199 = fp_mul(i197, i198) i200 = fp_mul(i194, i199) i201 = fp_mul(i191, i200) i202 = fp_mul(i186, i201) i203 = fp_mul(i198, i202) i204 = fp_mul(i200, i203) i205 = fp_mul(i199, i204) i208 = fp_mul(fp_exp(fp_mul(i201, i205), 2), _1) i209 = fp_mul(i204, i208) i212 = fp_mul(fp_exp(fp_mul(i203, i209), 2), _1) i213 = fp_mul(i208, i212) i214 = fp_mul(i212, i213) i216 = fp_exp(fp_mul(i202, i214), 2) i217 = fp_mul(i205, i216) i221 = fp_mul(fp_exp(fp_exp(fp_mul(i213, i217), 1), 4), _11) i222 = fp_mul(i209, i221) i223 = fp_mul(i214, i222) i228 = fp_mul(fp_exp(fp_exp(fp_mul(i222, i223), 1), 8), _111) i229 = fp_mul(i221, i228) i230 = fp_mul(i217, i229) i231 = fp_mul(i223, i230) i232 = fp_mul(i216, i231) i233 = fp_mul(i229, i232) i234 = fp_mul(i231, i233) i235 = fp_mul(i232, i234) i236 = fp_mul(i234, i235) i237 = fp_mul(i230, i236) i238 = fp_mul(i235, i237) i240 = fp_exp(fp_mul(i233, i238), 2) i243 = fp_mul(fp_exp(fp_mul(i236, i240), 2), _1) i244 = fp_mul(i238, i243) i245 = fp_mul(i240, i244) i249 = fp_mul(fp_exp(fp_exp(fp_mul(i228, i245), 1), 4), _1) i250 = fp_mul(i237, i249) i253 = fp_mul(fp_exp(fp_mul(i243, i250), 2), _1) i254 = fp_mul(i245, i253) i255 = fp_mul(i244, i254) i257 = fp_exp(fp_mul(i249, i255), 2) i258 = fp_mul(i250, i257) i260 = fp_exp(fp_mul(i254, i258), 2) i261 = fp_mul(i253, i260) i262 = fp_mul(i258, i261) i263 = fp_mul(i255, i262) i265 = fp_exp(fp_mul(_11, i263), 2) i266 = fp_mul(i257, i265) i268 = fp_exp(fp_mul(i261, i266), 2) i269 = fp_mul(i260, i268) i270 = fp_mul(i268, i269) i271 = fp_mul(i266, i270) i272 = fp_mul(i262, i271) i273 = fp_mul(i265, i272) i274 = fp_mul(i271, i273) i275 = fp_mul(i273, i274) i276 = fp_mul(i269, i275) i277 = fp_mul(i272, i276) i278 = fp_mul(i270, i277) i279 = fp_mul(i277, i278) i282 = fp_mul(fp_exp(fp_mul(i263, i279), 2), _1) i283 = fp_mul(i274, i282) i284 = fp_mul(i276, i283) i285 = fp_mul(i275, i284) i286 = fp_mul(i278, i285) i287 = fp_sqr(i282) x128 = fp_mul(i279, i286) i674 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i287, 340282366920938463463374607431768211456), i284), 1), 340282366920938463463374607431768211456), i285), 1), 340282366920938463463374607431768211456) i933 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(i286, i674), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1319 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i933, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i1578 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1319), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1964 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i1578, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2223 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1964), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i2609 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2223, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2868 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i2609), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3254 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2868, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i3513 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i3254), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3899 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i3513, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i4158 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i3899), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) return fp_mul(fp_exp(i4158, 170141183460469231731687303715884105728), i283)
def inv_3072(x): _1 = x _10 = fp_sqr(_1) _100 = fp_sqr(_10) _1000 = fp_sqr(_100) _1010 = fp_mul(_10, _1000) _1011 = fp_mul(_1, _1010) _1111 = fp_mul(_100, _1011) _10001 = fp_mul(_10, _1111) _11011 = fp_mul(_1010, _10001) _110110 = fp_sqr(_11011) _1000111 = fp_mul(_10001, _110110) _1100010 = fp_mul(_11011, _1000111) _1110001 = fp_mul(_1111, _1100010) _10111000 = fp_mul(_1000111, _1110001) _11000111 = fp_mul(_1111, _10111000) i15 = fp_mul(_1100010, _11000111) i16 = fp_mul(_11000111, i15) i17 = fp_mul(_1110001, i16) i18 = fp_mul(_10111000, i17) i19 = fp_mul(_1, i18) i20 = fp_mul(i16, i19) i23 = fp_mul(fp_mul(fp_sqr(i20), i20), i18) i24 = fp_mul(i20, i23) i25 = fp_mul(i19, i24) i26 = fp_mul(i24, i25) i27 = fp_mul(i17, i26) i28 = fp_mul(i26, i27) i29 = fp_mul(i27, i28) i30 = fp_mul(i23, i29) i31 = fp_mul(i15, i30) i33 = fp_mul(fp_sqr(i31), i30) i35 = fp_mul(fp_sqr(i33), i25) i36 = fp_mul(i33, i35) i39 = fp_mul(fp_mul(fp_sqr(i36), i36), i35) i40 = fp_mul(i29, i39) i41 = fp_mul(i28, i40) i42 = fp_mul(i39, i41) i43 = fp_mul(i31, i42) i44 = fp_mul(i41, i43) i45 = fp_mul(i42, i44) i46 = fp_mul(i36, i45) i48 = fp_mul(fp_sqr(i46), i44) i49 = fp_mul(i46, i48) i50 = fp_mul(i43, i49) i51 = fp_mul(i49, i50) i53 = fp_mul(fp_sqr(i51), i40) i54 = fp_mul(i45, i53) i55 = fp_mul(i53, i54) i56 = fp_mul(i51, i55) i57 = fp_mul(i48, i56) i58 = fp_mul(i55, i57) i59 = fp_mul(i50, i58) i60 = fp_mul(i54, i59) i61 = fp_mul(i59, i60) i62 = fp_mul(i57, i61) i63 = fp_mul(i60, i62) i65 = fp_mul(fp_sqr(i63), i58) i66 = fp_mul(i62, i65) i67 = fp_mul(i56, i66) i68 = fp_mul(i61, i67) i69 = fp_mul(i63, i68) i70 = fp_mul(i66, i69) i71 = fp_mul(i68, i70) i72 = fp_mul(i69, i71) i74 = fp_mul(fp_sqr(i72), i70) i76 = fp_mul(fp_sqr(i74), i71) i77 = fp_mul(i65, i76) i78 = fp_mul(i67, i77) i79 = fp_mul(i76, i78) i80 = fp_mul(i74, i79) i83 = fp_mul(fp_mul(fp_sqr(i80), i80), i72) i84 = fp_mul(i78, i83) i85 = fp_mul(i83, i84) i86 = fp_mul(i80, i85) i87 = fp_mul(i79, i86) i88 = fp_mul(i84, i87) i89 = fp_mul(i85, i88) i91 = fp_mul(fp_sqr(i89), i86) i94 = fp_mul(fp_exp(i91, 4), i77) i95 = fp_mul(i87, i94) i96 = fp_mul(i91, i95) i97 = fp_mul(i95, i96) i98 = fp_mul(i89, i97) i99 = fp_mul(i94, i98) i100 = fp_mul(i97, i99) i101 = fp_mul(i96, i100) i102 = fp_mul(i88, i101) i103 = fp_mul(i98, i102) i104 = fp_mul(i100, i103) i105 = fp_mul(i103, i104) i106 = fp_mul(i99, i105) i107 = fp_mul(i104, i106) i108 = fp_mul(i102, i107) i109 = fp_mul(i101, i108) i110 = fp_mul(i108, i109) i111 = fp_mul(i106, i110) i112 = fp_mul(i107, i111) i113 = fp_mul(i110, i112) i114 = fp_mul(i105, i113) i115 = fp_mul(i111, i114) i116 = fp_mul(i112, i115) i117 = fp_mul(i109, i116) i118 = fp_mul(i116, i117) i119 = fp_mul(i113, i118) i120 = fp_mul(i117, i119) i121 = fp_mul(i114, i120) i122 = fp_mul(i119, i121) i123 = fp_mul(i118, i122) i125 = fp_mul(fp_sqr(i123), i115) i126 = fp_mul(i121, i125) i127 = fp_mul(i122, i126) i128 = fp_mul(i120, i127) i129 = fp_mul(i123, i128) i130 = fp_mul(i128, i129) i132 = fp_mul(fp_sqr(i130), i126) i135 = fp_mul(fp_mul(fp_sqr(i132), i132), i130) i138 = fp_mul(fp_exp(i135, 4), i127) i141 = fp_mul(fp_mul(fp_sqr(i138), i138), i132) i142 = fp_mul(i129, i141) i143 = fp_mul(i138, i142) i144 = fp_mul(i135, i143) i145 = fp_mul(i143, i144) i146 = fp_mul(i125, i145) i147 = fp_mul(i142, i146) i150 = fp_mul(fp_mul(fp_sqr(i147), i147), i146) i151 = fp_mul(i144, i150) i152 = fp_mul(i147, i151) i153 = fp_mul(i150, i152) i154 = fp_mul(i145, i153) i155 = fp_mul(i141, i154) i156 = fp_mul(i154, i155) i157 = fp_mul(i151, i156) i158 = fp_mul(i155, i157) i159 = fp_mul(i153, i158) i160 = fp_mul(i157, i159) i161 = fp_mul(i152, i160) i162 = fp_mul(i159, i161) i163 = fp_mul(i156, i162) i164 = fp_mul(i160, i163) i165 = fp_mul(i163, i164) i166 = fp_mul(i162, i165) i167 = fp_mul(i158, i166) i168 = fp_mul(i161, i167) i169 = fp_mul(i167, i168) i170 = fp_mul(i165, i169) i171 = fp_mul(i164, i170) i172 = fp_mul(i166, i171) i175 = fp_mul(fp_mul(fp_sqr(i172), i172), i171) i176 = fp_mul(i168, i175) i178 = fp_mul(fp_sqr(i176), i175) i179 = fp_mul(i172, i178) i180 = fp_mul(i170, i179) i181 = fp_mul(i169, i180) i182 = fp_mul(i178, i181) i185 = fp_mul(fp_mul(fp_sqr(i182), i182), i176) i186 = fp_mul(i181, i185) i187 = fp_mul(i179, i186) i189 = fp_mul(fp_sqr(i187), i186) i190 = fp_mul(i182, i189) i191 = fp_mul(i180, i190) i192 = fp_mul(i187, i191) i193 = fp_mul(i189, i192) i194 = fp_mul(i190, i193) i195 = fp_mul(i185, i194) i196 = fp_mul(i193, i195) i197 = fp_mul(i194, i196) i199 = fp_mul(fp_sqr(i197), i195) i200 = fp_mul(i196, i199) i202 = fp_mul(fp_sqr(i200), i191) i203 = fp_mul(i192, i202) i204 = fp_mul(i199, i203) i205 = fp_mul(i200, i204) i206 = fp_mul(i203, i205) i207 = fp_mul(i205, i206) i208 = fp_mul(i197, i207) i210 = fp_mul(fp_sqr(i208), i204) i211 = fp_mul(i202, i210) i212 = fp_mul(i207, i211) i213 = fp_mul(i211, i212) i215 = fp_mul(fp_sqr(i213), i208) i216 = fp_mul(i210, i215) i217 = fp_mul(i213, i216) i218 = fp_mul(i216, i217) i219 = fp_mul(i212, i218) i220 = fp_mul(i215, i219) i222 = fp_mul(fp_sqr(i220), i217) i223 = fp_mul(i220, i222) i224 = fp_mul(i219, i223) i225 = fp_mul(i206, i224) i226 = fp_mul(i223, i225) i227 = fp_mul(i225, i226) i228 = fp_mul(i218, i227) i229 = fp_mul(i224, i228) i230 = fp_mul(i228, i229) i231 = fp_mul(i227, i230) i232 = fp_mul(i230, i231) i233 = fp_mul(i226, i232) i234 = fp_mul(i232, i233) i235 = fp_mul(i222, i234) i236 = fp_mul(i229, i235) i237 = fp_mul(i233, i236) i238 = fp_mul(i231, i237) i239 = fp_mul(i234, i238) i241 = fp_mul(fp_sqr(i239), i238) i242 = fp_mul(i235, i241) i243 = fp_mul(i239, i242) i244 = fp_mul(i236, i243) i245 = fp_mul(i242, i244) i246 = fp_mul(i243, i245) i249 = fp_mul(fp_mul(fp_sqr(i246), i246), i245) i250 = fp_mul(i237, i249) i251 = fp_mul(i244, i250) i252 = fp_mul(i241, i251) i253 = fp_mul(_1011, i252) i254 = fp_mul(i252, i253) i256 = fp_mul(fp_sqr(i254), i251) i257 = fp_mul(i249, i256) i258 = fp_mul(i246, i257) i259 = fp_mul(i256, i258) i260 = fp_mul(i258, i259) i261 = fp_mul(i254, i260) i262 = fp_mul(i250, i261) i263 = fp_mul(i253, i262) i264 = fp_mul(i259, i263) i265 = fp_mul(i257, i264) i266 = fp_mul(i264, i265) i267 = fp_mul(i263, i266) i268 = fp_mul(i265, i267) i269 = fp_mul(i261, i268) i270 = fp_mul(i262, i269) i271 = fp_mul(i266, i270) i272 = fp_mul(i267, i271) i273 = fp_sqr(i270) i274 = fp_mul(i260, i272) i275 = fp_sqr(i273) i276 = fp_mul(i272, i274) i277 = fp_mul(i269, i276) x128 = fp_mul(i268, i277) i663 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i275, 340282366920938463463374607431768211456), i276), 1), 340282366920938463463374607431768211456), i277), 1), 170141183460469231731687303715884105728) i924 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(i274, i663), 1), 1361129467683753853853498429727072845824), x128), 1), 340282366920938463463374607431768211456), x128) i1310 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i924, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i1569 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1310), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1955 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i1569, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2214 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1955), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i2600 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2214, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2859 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i2600), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3243 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2859, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 85070591730234615865843651857942052864) return fp_mul(i271, i3243)
def tri_512(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111110 = fp_sqr(_11111) _111111 = fp_mul(_1, _111110) _1111110 = fp_sqr(_111111) _1111111 = fp_mul(_1, _1111110) _10011101 = fp_mul(_11111, _1111110) i41 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(_10011101, 128), _1001), 1), 128), _11101), 1), 16) i55 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i41), 1), 64), _10111), 1), 32), _1001) i70 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i55, 64), _10011), 1), 32), _10011), 1), 4) i87 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i70), 1), 256), _10001), 1), 64), _1011) i110 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i87, 64), _1001), 1), 256), _1111), 1), 128) i126 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111111, i110), 1), 64), _1101), 1), 128), _11001) i143 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i126, 32), _11101), 1), 64), _10001), 1), 16) i160 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i143), 1), 64), _11101), 1), 256), _1111) i178 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i160, 64), _11011), 1), 16), _1101), 1), 64) i194 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1001, i178), 1), 128), _10111), 1), 64), _1101) i213 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i194, 128), _10101), 1), 128), _10001), 1), 8) i228 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i213), 1), 64), _111), 1), 64), _1011) i246 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i228, 32), _1001), 1), 8), _11), 1), 256) i265 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_11101, i246), 1), 512), _11001), 1), 128), _11101) i292 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i265, 8), _111), 1), 1024), _11101), 1), 4096) i309 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11011, i292), 1), 32), _1011), 1), 512), _1001) i330 = fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i309, 8), _11), 1), 16), _1), 1), 4096) i346 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i330), 1), 16), _11), 1), 512), _11011) i363 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i346, 32), _11101), 1), 64), _10011), 1), 16) i377 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i363), 1), 64), _10101), 1), 32), _11011) i400 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i377, 128), _1101), 1), 64), _1011), 1), 256) i413 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i400), 1), 8), _101), 1), 128), _10001) i430 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i413, 128), _11101), 1), 16), _1111), 1), 16) i449 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i430), 1), 8192), _1001), 1), 8), _11) i476 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i449, 256), _1111111), 1), 2048), _1001), 1), 64) i489 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i476), 1), 32), _10101), 1), 32), _10001) i508 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i489, 128), _11101), 1), 4), _11), 1), 256) i522 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11001, i508), 1), 32), _11011), 1), 64), _1101) i541 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i522, 8), _11), 1), 64), _11), 1), 256) i556 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_1111111, i541), 1), 64), _10001), 1), 64), _10111) i572 = fp_exp( fp_exp(fp_mul(fp_exp(fp_mul(fp_exp(i556, 512), _1111111), 2), _1), 1), 16) i586 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i572), 1), 128), _10111), 1), 16), _1011) i601 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i586, 64), _10111), 1), 32), _11011), 1), 4) return fp_mul(fp_exp(fp_exp(fp_mul(_11, i601), 1), 128), _1111)
def novem_4096(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _1010 = fp_sqr(_101) _1011 = fp_mul(_1, _1010) _1110 = fp_mul(_11, _1011) _11100 = fp_sqr(_1110) _11101 = fp_mul(_1, _11100) _111010 = fp_sqr(_11101) _1001000 = fp_mul(_1110, _111010) _1100101 = fp_mul(_11101, _1001000) _11001010 = fp_sqr(_1100101) i13 = fp_mul(_1001000, _11001010) i14 = fp_mul(_1011, i13) i15 = fp_mul(_101, i14) i16 = fp_mul(_1011, i15) i17 = fp_mul(_1100101, i16) i18 = fp_mul(i15, i17) i19 = fp_mul(i17, i18) i20 = fp_mul(i18, i19) i21 = fp_mul(i14, i20) i22 = fp_mul(i19, i21) i23 = fp_mul(i21, i22) i24 = fp_mul(i13, i23) i25 = fp_mul(i16, i24) i26 = fp_mul(i23, i25) i27 = fp_mul(i22, i26) i28 = fp_mul(i20, i27) i29 = fp_mul(i26, i28) i30 = fp_mul(i28, i29) i31 = fp_mul(i25, i30) i32 = fp_mul(i29, i31) i33 = fp_mul(i24, i32) i35 = fp_mul(fp_sqr(i33), i27) i36 = fp_mul(i32, i35) i38 = fp_mul(fp_sqr(i36), i35) i39 = fp_mul(i36, i38) i40 = fp_mul(i30, i39) i43 = fp_mul(fp_mul(fp_sqr(i40), i40), i33) i45 = fp_mul(fp_sqr(i43), i39) i46 = fp_mul(i38, i45) i47 = fp_mul(i45, i46) i48 = fp_mul(i40, i47) i49 = fp_mul(i46, i48) i50 = fp_mul(i43, i49) i51 = fp_mul(i31, i50) i52 = fp_mul(i48, i51) i53 = fp_mul(i51, i52) i54 = fp_mul(i49, i53) i55 = fp_mul(i52, i54) i57 = fp_mul(fp_sqr(i55), i54) i58 = fp_mul(i47, i57) i59 = fp_mul(i55, i58) i60 = fp_mul(i53, i59) i61 = fp_mul(i57, i60) i62 = fp_mul(i58, i61) i63 = fp_mul(i50, i62) i64 = fp_mul(i59, i63) i65 = fp_mul(i63, i64) i70 = fp_mul(fp_mul(fp_exp(fp_mul(fp_sqr(i65), i65), 2), i65), i64) i71 = fp_mul(i62, i70) i72 = fp_mul(i65, i71) i73 = fp_mul(i60, i72) i74 = fp_mul(i61, i73) i77 = fp_mul(fp_mul(fp_sqr(i74), i74), i72) i80 = fp_mul(fp_mul(fp_sqr(i77), i77), i71) i81 = fp_mul(i70, i80) i82 = fp_mul(i77, i81) i83 = fp_mul(i73, i82) i84 = fp_mul(i82, i83) i85 = fp_mul(i74, i84) i86 = fp_mul(i81, i85) i87 = fp_mul(i85, i86) i88 = fp_mul(i83, i87) i89 = fp_mul(i80, i88) i90 = fp_mul(i87, i89) i91 = fp_mul(i88, i90) i93 = fp_mul(fp_sqr(i91), i84) i94 = fp_mul(i91, i93) i95 = fp_mul(i90, i94) i97 = fp_mul(fp_sqr(i95), i89) i100 = fp_mul(fp_exp(i97, 4), i93) i101 = fp_mul(i86, i100) i102 = fp_mul(i100, i101) i103 = fp_mul(i95, i102) i104 = fp_mul(i97, i103) i105 = fp_mul(i101, i104) i106 = fp_mul(i103, i105) i107 = fp_mul(i94, i106) i108 = fp_mul(i104, i107) i109 = fp_mul(i107, i108) i110 = fp_mul(i108, i109) i113 = fp_mul(fp_mul(fp_sqr(i110), i110), i102) i114 = fp_mul(i105, i113) i115 = fp_mul(i109, i114) i116 = fp_mul(i114, i115) i117 = fp_mul(i115, i116) i118 = fp_mul(i113, i117) i119 = fp_mul(i106, i118) i120 = fp_mul(i116, i119) i121 = fp_mul(i110, i120) i122 = fp_mul(i117, i121) i124 = fp_mul(fp_sqr(i122), i120) i125 = fp_mul(i118, i124) i126 = fp_mul(i124, i125) i127 = fp_mul(i119, i126) i128 = fp_mul(i122, i127) i130 = fp_mul(fp_sqr(i128), i121) i131 = fp_mul(i128, i130) i132 = fp_mul(i130, i131) i134 = fp_mul(fp_sqr(i132), i126) i135 = fp_mul(i125, i134) i137 = fp_mul(fp_sqr(i135), i134) i138 = fp_mul(i132, i137) i139 = fp_mul(i131, i138) i140 = fp_mul(i135, i139) i141 = fp_mul(i137, i140) i143 = fp_mul(fp_sqr(i141), i127) i144 = fp_mul(i139, i143) i145 = fp_mul(i138, i144) i146 = fp_mul(i141, i145) i147 = fp_mul(i140, i146) i148 = fp_mul(i143, i147) i149 = fp_mul(i147, i148) i150 = fp_mul(i144, i149) i151 = fp_mul(i148, i150) i152 = fp_mul(i145, i151) i153 = fp_mul(i149, i152) i154 = fp_mul(i146, i153) i155 = fp_mul(i150, i154) i157 = fp_mul(fp_sqr(i155), i153) i158 = fp_mul(i151, i157) i161 = fp_mul(fp_mul(fp_sqr(i158), i158), i154) i162 = fp_mul(i158, i161) i163 = fp_mul(i157, i162) i164 = fp_mul(i152, i163) i166 = fp_mul(fp_sqr(i164), i163) i167 = fp_mul(i162, i166) i168 = fp_mul(i166, i167) i170 = fp_mul(fp_sqr(i168), i167) i171 = fp_mul(i164, i170) i172 = fp_mul(i155, i171) i173 = fp_mul(i170, i172) i174 = fp_mul(i171, i173) i175 = fp_mul(i161, i174) i176 = fp_mul(i172, i175) i180 = fp_mul(fp_mul(fp_exp(i176, 4), i176), i175) i181 = fp_mul(i168, i180) i182 = fp_mul(i173, i181) i183 = fp_mul(i174, i182) i184 = fp_mul(i176, i183) i185 = fp_mul(i181, i184) i186 = fp_mul(i184, i185) i188 = fp_mul(fp_sqr(i186), i180) i191 = fp_mul(fp_exp(i188, 4), i182) i194 = fp_mul(fp_mul(fp_sqr(i191), i191), i185) i195 = fp_mul(i186, i194) i196 = fp_mul(i188, i195) i197 = fp_mul(i191, i196) i198 = fp_mul(i183, i197) i199 = fp_mul(i195, i198) i200 = fp_mul(i198, i199) i201 = fp_mul(i197, i200) i204 = fp_mul(fp_mul(fp_sqr(i201), i201), i196) i205 = fp_mul(i199, i204) i206 = fp_mul(i194, i205) i208 = fp_mul(fp_sqr(i206), i200) i209 = fp_mul(i206, i208) i210 = fp_mul(i205, i209) i211 = fp_mul(i201, i210) i212 = fp_mul(i208, i211) i213 = fp_mul(i209, i212) i214 = fp_mul(i211, i213) i219 = fp_mul(fp_mul(fp_exp(fp_mul(fp_sqr(i214), i214), 2), i214), i204) i220 = fp_mul(i212, i219) i221 = fp_mul(i213, i220) i222 = fp_mul(i214, i221) i223 = fp_mul(i219, i222) i224 = fp_mul(i210, i223) i225 = fp_mul(i223, i224) i226 = fp_mul(_11, i225) i227 = fp_mul(i220, i226) i228 = fp_mul(i222, i227) i229 = fp_mul(i224, i228) i230 = fp_mul(i225, i229) i231 = fp_mul(i227, i230) i232 = fp_mul(i221, i231) i233 = fp_mul(i226, i232) i234 = fp_mul(i229, i233) i235 = fp_mul(i228, i234) i236 = fp_mul(i233, i235) i237 = fp_mul(i231, i236) i238 = fp_mul(i232, i237) i240 = fp_mul(fp_sqr(i238), i235) i241 = fp_mul(i238, i240) i242 = fp_mul(i230, i241) i243 = fp_mul(i236, i242) i244 = fp_mul(i234, i243) i245 = fp_mul(i242, i244) i247 = fp_mul(fp_sqr(i245), i243) i248 = fp_mul(i240, i247) i249 = fp_mul(i244, i248) i250 = fp_mul(i237, i249) i253 = fp_mul(fp_exp(i250, 4), i249) i256 = fp_mul(fp_mul(fp_sqr(i253), i253), i245) i257 = fp_mul(i241, i256) i258 = fp_mul(i247, i257) i259 = fp_mul(i250, i258) i260 = fp_mul(i253, i259) i261 = fp_mul(i259, i260) i263 = fp_mul(fp_sqr(i261), i260) i264 = fp_mul(i248, i263) i265 = fp_mul(i256, i264) i266 = fp_mul(i257, i265) i268 = fp_mul(fp_sqr(i266), i258) i271 = fp_mul(fp_mul(fp_sqr(i268), i268), i263) i272 = fp_mul(i268, i271) i273 = fp_mul(i266, i272) i274 = fp_mul(i265, i273) i275 = fp_mul(i271, i274) x126 = fp_mul(i264, i275) i278 = fp_mul(fp_sqr(x126), i261) i279 = fp_mul(i273, i278) i280 = fp_mul(i275, i279) x128 = fp_mul(i272, i280) i668 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i278, 340282366920938463463374607431768211456), i280), 1), 85070591730234615865843651857942052864), i274), 1), 2722258935367507707706996859454145691648) i927 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(i279, i668), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1313 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i927, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i1572 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1313), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i1958 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i1572, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2217 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i1958), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i2603 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2217, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i2862 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i2603), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3248 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i2862, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i3507 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i3248), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) i3893 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(i3507, 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456) i4152 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x128, i3893), 1), 340282366920938463463374607431768211456), x128), 1), 340282366920938463463374607431768211456), x128) return fp_mul(fp_exp(i4152, 85070591730234615865843651857942052864), x126)
def quint_3072(x): _1 = x _10 = fp_sqr(_1) _100 = fp_sqr(_10) _110 = fp_mul(_10,_100) _111 = fp_mul(_1,_110) _1110 = fp_sqr(_111) _10000 = fp_mul(_10,_1110) _10010 = fp_mul(_10,_10000) _100100 = fp_sqr(_10010) _110100 = fp_mul(_10000,_100100) _1000110 = fp_mul(_10010,_110100) _1101010 = fp_mul(_100100,_1000110) _1101100 = fp_mul(_10,_1101010) _1111010 = fp_mul(_1110,_1101100) _11000000 = fp_mul(_1000110,_1111010) i17 = fp_mul(fp_exp(_11000000,4),_1101010) i18 = fp_mul(_1101100,i17) i19 = fp_mul(_110100,i18) i20 = fp_mul(_1111010,i19) i21 = fp_mul(i17,i20) i23 = fp_mul(fp_sqr(i21),i19) i24 = fp_mul(i18,i23) i25 = fp_mul(i21,i24) i27 = fp_mul(fp_sqr(i25),i20) i28 = fp_mul(_11000000,i27) i29 = fp_mul(i23,i28) i32 = fp_mul(fp_mul(fp_sqr(i29),i29),i25) i33 = fp_mul(i27,i32) i36 = fp_mul(fp_mul(fp_sqr(i33),i33),i29) i37 = fp_mul(i33,i36) i39 = fp_mul(fp_sqr(i37),i28) i40 = fp_mul(i37,i39) i41 = fp_mul(i24,i40) i42 = fp_mul(i36,i41) i43 = fp_mul(i32,i42) i44 = fp_mul(i39,i43) i45 = fp_mul(i40,i44) i46 = fp_mul(i41,i45) i47 = fp_mul(i42,i46) i48 = fp_mul(i45,i47) i49 = fp_mul(i46,i48) i50 = fp_mul(i43,i49) i51 = fp_mul(i44,i50) i55 = fp_mul(fp_mul(fp_exp(i51,4),i51),i50) i56 = fp_mul(i48,i55) i57 = fp_mul(i51,i56) i58 = fp_mul(i56,i57) i59 = fp_mul(i57,i58) i60 = fp_mul(i49,i59) i61 = fp_mul(i58,i60) i62 = fp_mul(i60,i61) i64 = fp_mul(fp_sqr(i62),i55) i65 = fp_mul(i59,i64) i66 = fp_mul(i47,i65) i67 = fp_mul(i64,i66) i68 = fp_mul(i61,i67) i69 = fp_mul(i65,i68) i70 = fp_mul(i62,i69) i71 = fp_mul(i66,i70) i73 = fp_mul(fp_sqr(i71),i67) i74 = fp_mul(i70,i73) i75 = fp_mul(i68,i74) i76 = fp_mul(i69,i75) i77 = fp_mul(i73,i76) i78 = fp_mul(i71,i77) i79 = fp_mul(i76,i78) i81 = fp_mul(fp_sqr(i79),i77) i82 = fp_mul(i75,i81) i83 = fp_mul(i78,i82) i85 = fp_mul(fp_sqr(i83),i79) i87 = fp_mul(fp_sqr(i85),i82) i88 = fp_mul(i74,i87) i89 = fp_mul(i87,i88) i91 = fp_mul(fp_sqr(i89),i81) i92 = fp_mul(i88,i91) i93 = fp_mul(i85,i92) i94 = fp_mul(i91,i93) i95 = fp_mul(i83,i94) i96 = fp_mul(i94,i95) i97 = fp_mul(i89,i96) i98 = fp_mul(i93,i97) i99 = fp_mul(i92,i98) i101 = fp_mul(fp_sqr(i99),i97) i102 = fp_mul(i96,i101) i103 = fp_mul(i95,i102) i104 = fp_mul(i98,i103) i105 = fp_mul(i101,i104) i107 = fp_mul(fp_sqr(i105),i99) i108 = fp_mul(i104,i107) i109 = fp_mul(i103,i108) i110 = fp_mul(i105,i109) i111 = fp_mul(i109,i110) i112 = fp_mul(i102,i111) i113 = fp_mul(i111,i112) i114 = fp_mul(i108,i113) i115 = fp_mul(i112,i114) i116 = fp_mul(i113,i115) i118 = fp_mul(fp_sqr(i116),i114) i119 = fp_mul(i107,i118) i120 = fp_mul(i115,i119) i121 = fp_mul(i119,i120) i124 = fp_mul(fp_exp(i121,4),i120) i125 = fp_mul(i118,i124) i126 = fp_mul(i121,i125) i127 = fp_mul(i116,i126) i128 = fp_mul(i110,i127) i129 = fp_mul(i127,i128) i132 = fp_mul(fp_mul(fp_sqr(i129),i129),i126) i133 = fp_mul(i125,i132) i135 = fp_mul(fp_sqr(i133),i132) i136 = fp_mul(i133,i135) i137 = fp_mul(i128,i136) i138 = fp_mul(i124,i137) i139 = fp_mul(i136,i138) i140 = fp_mul(i129,i139) i141 = fp_mul(i135,i140) i144 = fp_mul(fp_exp(i141,4),i138) i145 = fp_mul(i139,i144) i148 = fp_mul(fp_exp(i145,4),i137) i149 = fp_mul(i144,i148) i150 = fp_mul(i141,i149) i151 = fp_mul(i140,i150) i152 = fp_mul(i148,i151) i153 = fp_mul(i145,i152) i154 = fp_mul(i150,i153) i155 = fp_mul(i152,i154) i156 = fp_mul(i153,i155) i157 = fp_mul(i155,i156) i158 = fp_mul(i151,i157) i159 = fp_mul(i154,i158) i160 = fp_mul(i156,i159) i161 = fp_mul(i149,i160) i162 = fp_mul(i160,i161) i163 = fp_mul(i158,i162) i164 = fp_mul(i157,i163) i166 = fp_mul(fp_sqr(i164),i163) i167 = fp_mul(i164,i166) i168 = fp_mul(i162,i167) i169 = fp_mul(i161,i168) i170 = fp_mul(i159,i169) i171 = fp_mul(i166,i170) i172 = fp_mul(i170,i171) i175 = fp_mul(fp_mul(fp_sqr(i172),i172),i169) i176 = fp_mul(i167,i175) i177 = fp_mul(i172,i176) i179 = fp_mul(fp_sqr(i177),i175) i180 = fp_mul(i168,i179) i181 = fp_mul(i176,i180) i182 = fp_mul(i177,i181) i183 = fp_mul(i171,i182) i185 = fp_mul(fp_sqr(i183),i180) i186 = fp_mul(i181,i185) i187 = fp_mul(i183,i186) i189 = fp_mul(fp_sqr(i187),i182) i190 = fp_mul(i185,i189) i191 = fp_mul(i187,i190) i192 = fp_mul(i179,i191) i194 = fp_mul(fp_sqr(i192),i190) i195 = fp_mul(i191,i194) i196 = fp_mul(i192,i195) i197 = fp_mul(i186,i196) i200 = fp_mul(fp_mul(fp_sqr(i197),i197),i194) i201 = fp_mul(i195,i200) i202 = fp_mul(i189,i201) i203 = fp_mul(i197,i202) i205 = fp_mul(fp_sqr(i203),i200) i206 = fp_mul(i196,i205) i207 = fp_mul(i202,i206) i208 = fp_mul(i201,i207) i209 = fp_mul(i206,i208) i210 = fp_mul(i203,i209) i212 = fp_mul(fp_sqr(i210),i207) i213 = fp_mul(i209,i212) i214 = fp_mul(i210,i213) i215 = fp_mul(i213,i214) i216 = fp_mul(i214,i215) i217 = fp_mul(i208,i216) i220 = fp_mul(fp_mul(fp_sqr(i217),i217),i216) i221 = fp_mul(_111,i220) i222 = fp_mul(i212,i221) i223 = fp_mul(i205,i222) i224 = fp_mul(i217,i223) i225 = fp_mul(i222,i224) i226 = fp_mul(i220,i225) i227 = fp_mul(i223,i226) i228 = fp_mul(i226,i227) i229 = fp_mul(i215,i228) i230 = fp_mul(i225,i229) i231 = fp_mul(i224,i230) i232 = fp_mul(i221,i231) i233 = fp_mul(i227,i232) i234 = fp_mul(i228,i233) i235 = fp_mul(i229,i234) i236 = fp_mul(i230,i235) i237 = fp_mul(i233,i236) i238 = fp_mul(i232,i237) i239 = fp_mul(i231,i238) i240 = fp_mul(i236,i239) i241 = fp_mul(i235,i240) i242 = fp_mul(i237,i241) i243 = fp_mul(i240,i242) i244 = fp_mul(i238,i243) i245 = fp_mul(i234,i244) i246 = fp_mul(i243,i245) i247 = fp_mul(i239,i246) i249 = fp_mul(fp_sqr(i247),i242) i250 = fp_mul(i245,i249) i251 = fp_mul(i247,i250) i252 = fp_mul(i241,i251) i253 = fp_mul(i246,i252) i254 = fp_mul(i250,i253) i255 = fp_mul(i251,i254) i256 = fp_mul(i244,i255) i257 = fp_mul(i249,i256) i258 = fp_mul(i256,i257) i259 = fp_mul(i255,i258) i260 = fp_mul(i257,i259) i261 = fp_mul(i253,i260) i262 = fp_mul(i258,i261) i264 = fp_mul(fp_sqr(i262),i259) i265 = fp_mul(i254,i264) i266 = fp_mul(i261,i265) i267 = fp_mul(i264,i266) i268 = fp_mul(i260,i267) i269 = fp_mul(i262,i268) i270 = fp_mul(i266,i269) i271 = fp_mul(i252,i270) i273 = fp_mul(fp_sqr(i271),i269) i274 = fp_mul(i265,i273) i275 = fp_mul(i273,i274) i276 = fp_mul(i267,i275) x125 = fp_mul(i271,i276) i278 = fp_mul(i268,x125) i279 = fp_mul(i270,i278) i280 = fp_mul(i275,i279) i281 = fp_mul(i274,i280) i282 = fp_mul(i278,i281) i283 = fp_mul(i276,i282) i284 = fp_mul(i281,i283) x128 = fp_mul(i279,i284) i672 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i284,340282366920938463463374607431768211456),i280),1),340282366920938463463374607431768211456),i282),1),680564733841876926926749214863536422912) i931 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(i283,i672),1),340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456),x128) i1317 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i931,340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456) i1576 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x128,i1317),1),340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456),x128) i1962 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i1576,340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456) i2221 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x128,i1962),1),340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456),x128) i2607 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i2221,340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456) i2866 = fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(x128,i2607),1),340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456),x128) i3249 = fp_exp(fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i2866,340282366920938463463374607431768211456),x128),1),340282366920938463463374607431768211456),x128),1),42535295865117307932921825928971026432) return fp_mul(x125,i3249)
def sq_1792(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111110 = fp_sqr(_11111) _111111 = fp_mul(_1, _111110) _1111110 = fp_sqr(_111111) _1111111 = fp_mul(_1, _1111110) i42 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_1111111, 64), _1101), 1), 512), _11001), 1), 32) i55 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i42), 1), 32), _11001), 1), 32), _1001) i79 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i55, 256), _1011), 1), 16), _1), 1), 1024) i88 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i79), 1), 8), _101), 1), 8), _1) i109 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i88, 512), _11001), 1), 32), _11001), 1), 32) i125 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111, i109), 1), 256), _10011), 1), 32), _11011) i145 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i125, 64), _11111), 1), 256), _10101), 1), 16) i160 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i145), 1), 128), _111), 1), 32), _11) i177 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i160, 64), _101), 1), 32), _11), 1), 16) i196 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i177), 1), 1024), _101), 1), 64), _1001) i214 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i196, 32), _1001), 1), 64), _10111), 1), 32) i237 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_101, i214), 1), 32768), _11101), 1), 32), _10101) i257 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_sqr(i237), _1), 1), 2048), _1111111), 1), 64) i273 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i257), 1), 64), _1111), 1), 128), _11101) i290 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i273, 32), _1111), 1), 64), _10101), 1), 16) i307 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i290), 1), 128), _11), 1), 128), _1101) i334 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i307, 8), _1), 1), 8192), _10111), 1), 512) i351 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i334), 1), 8), _11), 1), 2048), _11011) i375 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i351, 32), _10011), 1), 256), _11111), 1), 512) i390 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i375), 1), 16), _1111), 1), 256), _11011) i410 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i390, 128), _11011), 1), 256), _111), 1), 8) i430 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i410), 1), 512), _10011), 1), 256), _1) i451 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i430, 512), _111111), 1), 16), _1), 1), 64) i468 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11, i451), 1), 256), _11101), 1), 64), _11001) i488 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i468, 4), _11), 1), 128), _1011), 1), 512) i502 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i488), 1), 64), _11001), 1), 32), _10011) i520 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i502, 8), _11), 1), 128), _1111), 1), 64) i534 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11011, i520), 1), 32), _10101), 1), 64), _11101) i555 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i534, 32), _11101), 1), 128), _1101), 1), 128) i569 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10111, i555), 1), 32), _1101), 1), 64), _11001) i594 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i569, 8192), _11011), 1), 128), _10101), 1), 8) return fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i594), 1), 128), _1011), 1), 5203966097332199540962620163682042769307631123633352402659556175201804029836680149006119720866162092421210806977140503895691783124161732454069953302838660381462064754694610172886591674830791775236479710273844905605846838573774239433481250692219130145866174442655580414269208292514127802333112415945459400923534111101570260513349217744366479014439025434868093450357360355277851584364544 )
def quart_512(x): _1 = x _10 = fp_sqr(_1) _11 = fp_mul(_1, _10) _101 = fp_mul(_10, _11) _111 = fp_mul(_10, _101) _1001 = fp_mul(_10, _111) _1011 = fp_mul(_10, _1001) _1101 = fp_mul(_10, _1011) _1111 = fp_mul(_10, _1101) _10001 = fp_mul(_10, _1111) _10011 = fp_mul(_10, _10001) _10101 = fp_mul(_10, _10011) _10111 = fp_mul(_10, _10101) _11001 = fp_mul(_10, _10111) _11011 = fp_mul(_10, _11001) _11101 = fp_mul(_10, _11011) _11111 = fp_mul(_10, _11101) _111010 = fp_mul(_11011, _11111) _111111 = fp_mul(_101, _111010) i34 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(_111010, 8), _111), 1), 128), _11011), 1), 16) i52 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i34), 1), 16), _11), 1), 2048), _10111) i70 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i52, 64), _11111), 1), 32), _1011), 1), 32) i82 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i70), 1), 128), _11001), 1), 4), _11) i102 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i82, 256), _1011), 1), 64), _11001), 1), 16) i117 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i102), 1), 64), _1111), 1), 64), _11001) i135 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i117, 8), _111), 1), 128), _11011), 1), 64) i152 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11111, i135), 1), 32), _1011), 1), 512), _10111) i174 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i152, 128), _10111), 1), 128), _10011), 1), 64) i189 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_11101, i174), 1), 32), _10111), 1), 128), _1011) i208 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i189, 32), _111), 1), 128), _111111), 1), 32) i222 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1101, i208), 1), 32), _1101), 1), 64), _10101) i242 = fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_sqr(i222), _1), 1), 256), _1111), 1), 512) i255 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10101, i242), 1), 16), _111), 1), 64), _1001) i274 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i255, 64), _11101), 1), 32), _10011), 1), 64) i291 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10001, i274), 1), 64), _10111), 1), 256), _101) i309 = fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i291, 8), _1), 1), 64), _1), 1), 128) i331 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i309), 1), 512), _10011), 1), 1024), _10111) i349 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i331, 64), _11001), 1), 32), _101), 1), 32) i365 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_111, i349), 1), 128), _111111), 1), 64), _11001) i387 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i365, 256), _11), 1), 64), _101), 1), 64) i404 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1111, i387), 1), 512), _10011), 1), 32), _10101) i423 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i404, 32), _11011), 1), 128), _11101), 1), 32) i433 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i423), 1), 16), _1011), 1), 8), _1) i459 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i433, 2048), _111), 1), 256), _10011), 1), 32) i478 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(_11101, i459), 1), 2048), _11011), 1), 32), _11101) i495 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_sqr(i478), _1), 1), 1024), _10011), 1), 16) i512 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1011, i495), 1), 128), _10101), 1), 128), _11011) i536 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i512, 128), _1101), 1), 512), _1001), 1), 64) i548 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_10011, i536), 1), 32), _11101), 1), 16), _1101) i567 = fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i548, 512), _1011), 1), 128), _111111), 2) i582 = fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(fp_exp(fp_mul(_1, i567), 1), 64), _1011), 1), 64), _111) i601 = fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(fp_exp(i582, 8), _1), 1), 256), _1111), 1), 64) return fp_mul(fp_exp(fp_exp(fp_mul(_1101, i601), 1), 8), _11)
def tri_1024(x): _1 = x _10 = fp_sqr(_1) _100 = fp_sqr(_10) _110 = fp_mul(_10, _100) _111 = fp_mul(_1, _110) _1101 = fp_mul(_110, _111) _1110 = fp_mul(_1, _1101) _10001 = fp_mul(_100, _1101) _10011 = fp_mul(_10, _10001) _10100 = fp_mul(_1, _10011) _10111 = fp_mul(_100, _10011) _11101 = fp_mul(_110, _10111) _100100 = fp_mul(_111, _11101) _100110 = fp_mul(_10, _100100) _101011 = fp_mul(_111, _100100) _110001 = fp_mul(_110, _101011) _111110 = fp_mul(_1101, _110001) _1000001 = fp_mul(_11101, _100100) _1000111 = fp_mul(_110, _1000001) _1011010 = fp_mul(_10011, _1000111) _1011011 = fp_mul(_1, _1011010) _1111111 = fp_mul(_100100, _1011011) _10000011 = fp_mul(_100, _1111111) _11011110 = fp_mul(_1011011, _10000011) i24 = fp_mul(_111110, _11011110) i25 = fp_mul(_101011, i24) i26 = fp_mul(_11101, i25) i27 = fp_mul(_1101, i26) i28 = fp_mul(_100110, i27) i29 = fp_mul(_100110, i28) i30 = fp_mul(i25, i29) i31 = fp_mul(_1110, i30) i32 = fp_mul(_10100, i31) i33 = fp_mul(_10001, i32) i34 = fp_mul(_10000011, i33) i35 = fp_mul(_1011010, i34) i36 = fp_mul(i24, i35) i37 = fp_mul(_11011110, i36) i38 = fp_mul(i31, i37) i39 = fp_mul(i28, i38) i40 = fp_mul(_10111, i39) i41 = fp_mul(_110001, i40) i42 = fp_mul(i29, i41) i43 = fp_mul(i34, i42) i44 = fp_mul(_1111111, i43) i45 = fp_mul(i27, i44) i46 = fp_mul(_1000111, i45) i47 = fp_mul(i35, i46) i48 = fp_mul(_1000001, i47) i49 = fp_mul(i26, i48) i50 = fp_mul(i30, i49) i51 = fp_mul(i43, i50) i52 = fp_mul(i40, i51) i53 = fp_mul(i46, i52) i54 = fp_mul(i41, i53) i55 = fp_mul(i47, i54) i56 = fp_mul(i48, i55) i57 = fp_mul(i39, i56) i58 = fp_mul(i45, i57) i59 = fp_mul(i38, i58) i60 = fp_mul(i36, i59) i61 = fp_mul(i37, i60) i62 = fp_mul(i58, i61) i63 = fp_mul(i52, i62) i64 = fp_mul(i50, i63) i65 = fp_mul(i55, i64) i66 = fp_mul(i33, i65) i67 = fp_mul(i32, i66) i68 = fp_mul(i44, i67) i69 = fp_mul(i56, i68) i70 = fp_mul(i53, i69) i71 = fp_mul(i61, i70) i72 = fp_mul(i59, i71) i73 = fp_mul(i57, i72) i74 = fp_mul(i65, i73) i75 = fp_mul(i63, i74) i76 = fp_mul(i62, i75) i77 = fp_mul(i66, i76) i78 = fp_mul(i60, i77) i79 = fp_mul(i71, i78) i80 = fp_mul(i54, i79) i81 = fp_mul(i68, i80) i82 = fp_mul(i49, i81) i83 = fp_mul(i42, i82) i84 = fp_mul(i72, i83) i85 = fp_mul(i73, i84) i86 = fp_mul(i64, i85) i87 = fp_mul(i67, i86) i88 = fp_mul(i69, i87) i89 = fp_mul(i74, i88) i90 = fp_mul(i51, i89) i91 = fp_mul(i80, i90) i92 = fp_mul(i89, i91) i93 = fp_mul(i79, i92) i94 = fp_mul(i83, i93) i95 = fp_mul(i75, i94) i96 = fp_mul(i86, i95) i97 = fp_mul(i82, i96) i98 = fp_mul(i87, i97) i99 = fp_mul(i88, i98) i100 = fp_mul(i85, i99) i101 = fp_mul(i97, i100) i102 = fp_mul(i95, i101) i103 = fp_mul(i91, i102) i104 = fp_mul(i70, i103) i105 = fp_mul(i90, i104) i106 = fp_mul(i93, i105) i107 = fp_mul(i78, i106) i108 = fp_mul(i77, i107) i109 = fp_mul(i81, i108) i110 = fp_mul(i76, i109) i111 = fp_mul(i99, i110) i112 = fp_mul(i98, i111) i113 = fp_mul(i102, i112) i114 = fp_mul(i111, i113) i115 = fp_mul(i108, i114) x28 = fp_mul(i92, i115) i117 = fp_mul(i103, x28) i118 = fp_mul(i104, i117) i119 = fp_mul(i112, i118) i120 = fp_mul(i94, i119) i121 = fp_mul(i101, i120) i122 = fp_mul(i118, i121) i123 = fp_mul(i84, i122) i124 = fp_mul(i114, i123) i125 = fp_mul(i113, i124) i126 = fp_mul(i122, i125) i127 = fp_mul(i121, i126) i128 = fp_mul(i96, i127) i129 = fp_mul(i117, i128) i130 = fp_mul(i100, i129) i131 = fp_mul(i110, i130) i132 = fp_mul(i120, i131) i133 = fp_mul(i106, i132) i134 = fp_mul(i107, i133) i135 = fp_mul(i115, i134) i136 = fp_mul(i109, i135) i137 = fp_mul(i105, i136) x32 = fp_mul(i119, i137) i249 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i135, 274877906944), i132), 1), 17179869184), i125), 1), 137438953472) i320 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(i133, i249), 1), 68719476736), i128), 1), 4294967296), i126) i420 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i320, 8589934592), i131), 1), 4294967296), i129), 1), 8589934592) i488 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(i130, i420), 1), 4294967296), i124), 1), 8589934592), i123) i595 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i488, 34359738368), i134), 1), 4294967296), i136), 1), 274877906944) i667 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(i137, i595), 1), 137438953472), i127), 1), 4294967296), x32) i765 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i667, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i832 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i765), 1), 4294967296), x32), 1), 4294967296), x32) i930 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i832, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) i997 = fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i930), 1), 4294967296), x32), 1), 4294967296), x32) i1095 = fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i997, 4294967296), x32), 1), 4294967296), x32), 1), 4294967296) return fp_mul( fp_exp( fp_exp( fp_mul(fp_exp(fp_exp(fp_mul(x32, i1095), 1), 4294967296), x32), 1), 268435456), x28)
def quint_1792(x): _1 = x _10 = fp_sqr(_1) _100 = fp_sqr(_10) _101 = fp_mul(_1, _100) _110 = fp_mul(_1, _101) _1001 = fp_mul(_100, _101) _1010 = fp_mul(_1, _1001) _10100 = fp_sqr(_1010) _11001 = fp_mul(_101, _10100) _100010 = fp_mul(_1001, _11001) _100100 = fp_mul(_10, _100010) _101010 = fp_mul(_110, _100100) _101111 = fp_mul(_101, _101010) _110000 = fp_mul(_1, _101111) _1001001 = fp_mul(_11001, _110000) _1001011 = fp_mul(_10, _1001001) _1001111 = fp_mul(_100, _1001011) _1011001 = fp_mul(_1010, _1001111) _10110010 = fp_sqr(_1011001) _11011100 = fp_mul(_101010, _10110010) i20 = fp_mul(_1001001, _11011100) i21 = fp_mul(_1001011, i20) i22 = fp_mul(_100100, i21) i23 = fp_mul(_1001111, i22) i24 = fp_mul(_11011100, i23) i25 = fp_mul(_110000, i24) i26 = fp_mul(i23, i25) i27 = fp_mul(i20, i26) i28 = fp_mul(i21, i27) i29 = fp_mul(i22, i28) i30 = fp_mul(i26, i29) i31 = fp_mul(_100010, i30) i32 = fp_mul(i24, i31) i33 = fp_mul(i25, i32) i34 = fp_mul(_101111, i33) i36 = fp_mul(fp_sqr(i34), _1011001) i38 = fp_mul(fp_sqr(i36), i30) i39 = fp_mul(_101010, i38) i40 = fp_mul(i38, i39) i41 = fp_mul(i34, i40) i42 = fp_mul(i29, i41) i43 = fp_mul(i33, i42) i44 = fp_mul(i28, i43) i45 = fp_mul(i39, i44) i46 = fp_mul(i27, i45) i47 = fp_mul(i32, i46) i48 = fp_mul(i40, i47) i49 = fp_mul(i31, i48) i50 = fp_mul(i41, i49) i51 = fp_mul(i43, i50) i52 = fp_mul(i47, i51) i53 = fp_mul(i44, i52) i54 = fp_mul(i48, i53) i55 = fp_mul(i46, i54) i56 = fp_mul(i45, i55) i57 = fp_mul(i51, i56) i58 = fp_mul(i50, i57) i59 = fp_mul(i53, i58) i60 = fp_mul(i49, i59) i61 = fp_mul(i55, i60) i62 = fp_mul(i42, i61) i63 = fp_mul(i56, i62) i64 = fp_mul(i58, i63) i65 = fp_mul(i62, i64) i66 = fp_mul(i64, i65) i67 = fp_mul(i60, i66) i68 = fp_mul(i61, i67) i69 = fp_mul(i54, i68) i70 = fp_mul(i57, i69) i71 = fp_mul(i52, i70) i72 = fp_mul(i36, i71) i73 = fp_mul(i68, i72) i74 = fp_mul(i67, i73) i75 = fp_mul(i65, i74) i76 = fp_mul(i73, i75) i77 = fp_mul(i71, i76) i78 = fp_mul(i59, i77) i79 = fp_mul(i69, i78) i80 = fp_mul(i70, i79) i81 = fp_mul(i72, i80) i82 = fp_mul(i63, i81) i83 = fp_mul(i75, i82) i84 = fp_mul(i76, i83) i85 = fp_mul(i78, i84) i86 = fp_mul(i80, i85) i89 = fp_mul(fp_exp(i86, 4), i82) i90 = fp_mul(i77, i89) i91 = fp_mul(i81, i90) i92 = fp_mul(i83, i91) i93 = fp_mul(i66, i92) i94 = fp_mul(i79, i93) i95 = fp_mul(i85, i94) i96 = fp_mul(i91, i95) i97 = fp_mul(i95, i96) i98 = fp_mul(i89, i97) i99 = fp_mul(i74, i98) i100 = fp_mul(i90, i99) i101 = fp_mul(i84, i100) i102 = fp_mul(i86, i101) i103 = fp_mul(i101, i102) i104 = fp_mul(i93, i103) i105 = fp_mul(i94, i104) i106 = fp_mul(i103, i105) i107 = fp_mul(i96, i106) i108 = fp_mul(i100, i107) i109 = fp_mul(i104, i108) i110 = fp_mul(i102, i109) i111 = fp_mul(i99, i110) i112 = fp_mul(i106, i111) i113 = fp_mul(i110, i112) i114 = fp_mul(i109, i113) i115 = fp_mul(i97, i114) i116 = fp_mul(i111, i115) i117 = fp_mul(i112, i116) i118 = fp_mul(i105, i117) i119 = fp_mul(i113, i118) i120 = fp_mul(i92, i119) i121 = fp_mul(i98, i120) i122 = fp_mul(i107, i121) i123 = fp_mul(i114, i122) i124 = fp_mul(i120, i123) i125 = fp_mul(i122, i124) i126 = fp_mul(i115, i125) i127 = fp_mul(i118, i126) i128 = fp_mul(i123, i127) i129 = fp_mul(i116, i128) i130 = fp_mul(i121, i129) i131 = fp_mul(i108, i130) i132 = fp_mul(i119, i131) i133 = fp_mul(i126, i132) i134 = fp_mul(i125, i133) i135 = fp_mul(i128, i134) i136 = fp_mul(i130, i135) i137 = fp_mul(i131, i136) i138 = fp_mul(i124, i137) i139 = fp_mul(i134, i138) i140 = fp_mul(i136, i139) i141 = fp_mul(i117, i140) i142 = fp_mul(i127, i141) i143 = fp_mul(i135, i142) i144 = fp_mul(i133, i143) i145 = fp_mul(i142, i144) i146 = fp_mul(i139, i145) i147 = fp_mul(i140, i146) i148 = fp_mul(i132, i147) i150 = fp_mul(fp_sqr(i148), i141) i151 = fp_mul(i129, i150) i152 = fp_mul(i143, i151) i153 = fp_mul(i137, i152) i154 = fp_mul(i144, i153) i155 = fp_mul(i145, i154) i156 = fp_mul(i138, i155) i157 = fp_mul(i148, i156) i158 = fp_mul(i147, i157) i159 = fp_mul(i153, i158) i160 = fp_mul(i152, i159) i161 = fp_mul(i158, i160) i162 = fp_mul(i151, i161) x53 = fp_mul(i150, i162) i164 = fp_mul(i146, x53) i165 = fp_mul(i154, i164) i166 = fp_mul(i157, i165) i167 = fp_mul(i155, i166) i168 = fp_mul(i165, i167) i169 = fp_mul(i161, i168) i170 = fp_mul(i159, i169) i172 = fp_mul(fp_sqr(i170), i166) i173 = fp_mul(i160, i172) i174 = fp_mul(i156, i173) i175 = fp_mul(i168, i174) i176 = fp_mul(i167, i175) i177 = fp_mul(i162, i176) i178 = fp_mul(i172, i177) i179 = fp_mul(i174, i178) i180 = fp_mul(i170, i179) i181 = fp_mul(i173, i180) i182 = fp_mul(i176, i181) i183 = fp_mul(i169, i182) i184 = fp_mul(i180, i183) i185 = fp_mul(i182, i184) i186 = fp_mul(i177, i185) i187 = fp_mul(i178, i186) i188 = fp_mul(i181, i187) i189 = fp_mul(i179, i188) i190 = fp_mul(i188, i189) i191 = fp_mul(i164, i190) i192 = fp_mul(i189, i191) i193 = fp_mul(i186, i192) i194 = fp_mul(i187, i193) i195 = fp_mul(i184, i194) i196 = fp_mul(i175, i195) i197 = fp_mul(i190, i196) x64 = fp_mul(i185, i197) i394 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i194, 1152921504606846976), i183), 1), 295147905179352825856), i193), 1), 73786976294838206464) i531 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(i197, i394), 1), 36893488147419103232), i192), 1), 590295810358705651712), i196) i727 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i531, 36893488147419103232), i191), 1), 36893488147419103232), i195), 1), 18446744073709551616) i858 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i727), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) i1052 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i858, 18446744073709551616), x64), 1), 18446744073709551616), x64), 1), 18446744073709551616) i1183 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i1052), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) i1377 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i1183, 18446744073709551616), x64), 1), 18446744073709551616), x64), 1), 18446744073709551616) i1508 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i1377), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) i1702 = fp_exp( fp_exp( fp_mul( fp_exp( fp_exp(fp_mul(fp_exp(i1508, 18446744073709551616), x64), 1), 18446744073709551616), x64), 1), 18446744073709551616) i1833 = fp_mul( fp_exp( fp_exp( fp_mul( fp_exp(fp_exp(fp_mul(x64, i1702), 1), 18446744073709551616), x64), 1), 18446744073709551616), x64) return fp_mul( fp_exp(fp_exp(fp_mul(fp_exp(i1833, 18446744073709551616), x64), 1), 9007199254740992), x53)