#include <cassert> #include <iomanip> #include <string.h> #include <sstream> #include <iostream> #include <string> #include <unordered_map> #include <unistd.h> using namespace std; // resolves a library at runtime // you must have ld load the library before using this, // otherwise it will die and blow up everything struct DLL { char *base; unordered_map<string, size_t> syms; DLL(const char *file) { // obtain symbols of requested library // objdump -T <elf> | awk '{if($4 == ".text") print $1,$7}' char buf[1024]; string command = "objdump -T " + string(file) + " | awk '{if($4 == \".text\") print $7,$1}'"; auto cmd = popen(command.c_str(), "r"); while (fgets(buf, 1024, cmd)) { istringstream ss(buf); string tmp; cout << buf << endl; ss >> tmp, ss >> hex >> syms[tmp]; } pclose(cmd); // obtain base address of requested library // awk '{if(index($6, <elf>) != 0 && $3 == "00000000") print // substr($1, 1, index($1, "-") - 1)}' /proc/<pid>/maps string maps_file = "/proc/" + to_string(getpid()) + "/maps"; command = "awk '{if(index($6, \"" + string(file) + "\") != 0 && $3 == \"00000000\") print" " substr($1, 1, index($1, \"-\") - 1)}' " + maps_file; cmd = popen(command.c_str(), "r"); while (fgets(buf, 1024, cmd)) { base = reinterpret_cast<char *>(stoul(buf, 0, 16)); cout << buf << endl; } pclose(cmd); } template <typename R = void, typename... T> constexpr R call(const char *name, T... t) { auto off = syms[string(name)]; assert(off != 0); return ((R(*)(T...))(base + off))(t...); }; }; constexpr const char *LIB_PATH = "/usr/lib/x86_64-linux-gnu/libgmp.so.10"; using mpz_t = char[16]; DLL *gmp; struct fastIO { static const int BUFF_SZ = 1 << 18; char inbuf[BUFF_SZ], outbuf[BUFF_SZ]; fastIO() { setvbuf(stdin, inbuf, _IOFBF, BUFF_SZ); setvbuf(stdout, outbuf, _IOFBF, BUFF_SZ); } } IO; char sa[1600010], sb[1600010]; int main(int argc, char **argv) { if (getenv("LD_PRELOAD") == nullptr) { setenv("LD_PRELOAD", LIB_PATH, 1); execve("/proc/self/exe", argv, environ); exit(0); } gmp = new DLL(LIB_PATH); mpz_t a, b, q, r; gmp->call("__gmpz_init", a); gmp->call("__gmpz_init", b); gmp->call("__gmpz_init", q); gmp->call("__gmpz_init", r); int t; scanf("%d", &t); while (t--) { scanf("%s%s", sa, sb); gmp->call("__gmpz_set_str", a, sa, 16); gmp->call("__gmpz_set_str", b, sb, 16); gmp->call("__gmpz_tdiv_qr", q, r, a, b); gmp->call("__gmp_printf", "%Zx %Zx\n", q, r); } gmp->call("__gmpz_clear", a); gmp->call("__gmpz_clear", b); gmp->call("__gmpz_clear", q); }
8 47 1F 50 1F 3 1F 0 1F 100000000000000000000 FFFFFFFFFF 1000000000000000000000000000000000 FFFF 10000000000000000000000000000000000000000 FFFFFFFFFFFFFFFFFFFF FFFFFFFFFF FFFFFFFFFE
__gmpz_cdiv_r 0000000000014360 __gmpn_rootrem 0000000000034ee0 __gmpn_gcd_subdiv_step 0000000000039d80 __gmpf_get_ui 0000000000010c20 __gmpn_mulmid_n 00000000000333a0 __gmpf_set 000000000000af90 __gmpf_ceil 00000000000101e0 __gmpf_cmp_d 000000000000f570 __gmpf_ui_div 000000000000fea0 __gmpf_set_ui 000000000000aff0 __gmpn_hgcd 00000000000401e0 __gmpz_init_set_si 000000000001b5a0 __gmpn_toom42_mul 0000000000043310 __gmpz_cdiv_ui 0000000000014500 __gmpn_mod_1_1p 000000000002a980 __gmpz_tdiv_r_ui 0000000000023c00 __gmpf_init2 000000000000ae90 __gmpn_dump 000000000002a8e0 __gmpz_lcm 000000000001c070 __gmpn_jacobi_n 000000000003d230 __gmpn_sbpi1_bdiv_q 0000000000059f20 __gmpz_realloc2 0000000000020cf0 __gmpz_ui_sub 0000000000023d50 __gmpz_dump 0000000000016a90 __gmpn_sub_nc 0000000000028170 __gmpn_cnd_sub_n 00000000000283b0 __gmpn_hamdist 00000000000376e0 __gmpn_sbpi1_div_q 00000000000559f0 __gmpz_init 000000000001a1a0 __gmpz_congruent_2exp_p 0000000000016170 __gmpz_popcount 000000000001e2f0 __gmpz_tdiv_q_ui 00000000000232e0 __gmpf_cmp_z 000000000000f3c0 __gmpn_popcount 00000000000375e0 __gmpz_export 0000000000016ad0 __gmpq_set_str 0000000000027280 __gmpz_realloc 0000000000020c60 __gmpf_set_str 000000000000b050 __gmpn_perfect_square_p 0000000000037850 __gmpn_nior_n 00000000000606a0 __gmpf_cmp 000000000000f420 __gmpn_sub_1 0000000000027fa0 __gmpf_size 000000000000c8a0 __gmpf_fits_ushort_p 0000000000010b90 __gmpn_addlsh2_n 0000000000061420 __gmpf_eq 000000000000c8b0 __gmpq_cmp_si 0000000000025c70 __gmpf_set_default_prec 000000000000fd80 __gmpz_import 0000000000019d70 __gmp_doprnt 0000000000062060 __gmp_urandomb_ui 0000000000066710 __gmpf_ui_sub 000000000000eb30 __gmpz_ui_pow_ui 0000000000023d20 __gmpz_add 0000000000010d00 __gmpz_inp_raw 000000000001a320 __gmpn_hgcd_matrix_update_q 000000000003e5d0 __gmpn_toom63_mul 0000000000047d80 __gmpn_rsh1sub_n 00000000000612f0 __gmpf_init_set_ui 000000000000bbc0 __gmpf_get_d_2exp 000000000000fd20 __gmpn_sbpi1_divappr_q 0000000000056780 __gmpn_divrem 00000000000299e0 __gmpn_com 00000000000285c0 __gmpz_roinit_n 0000000000021100 __gmpq_mul 0000000000026c00 __gmpz_fib2_ui 0000000000018940 __gmpn_toom32_mul 0000000000042780 __gmp_randinit 0000000000065570 __gmpn_sec_sub_1 000000000005f9f0 __gmpn_mul_fft 0000000000030ca0 __gmpf_init_set_str 000000000000bc80 __gmp_asprintf_memory 0000000000061f50 __gmpz_swap 0000000000022e90 __gmpf_fits_uint_p 0000000000010b30 __gmpz_rrandomb 0000000000021690 __gmpn_hgcd_matrix_mul 000000000003ea10 __gmp_doprnt_integer 0000000000063440 __gmpn_sec_pi1_div_qr 000000000005f570 __gmpz_n_pow_ui 000000000001d420 __gmp_set_memory_functions 000000000000a600 __gmp_asprintf_reps 0000000000061fb0 __gmpn_mulmod_bnm1_next_size 0000000000054a10 __gmpf_fits_slong_p 0000000000010a80 __gmpn_preinv_divrem_1 0000000000029d90 __gmpn_mu_bdiv_q 000000000005af30 __gmp_extract_double 000000000000a420 __gmpz_init_set_ui 000000000001b640 __gmpf_inits 000000000000aee0 __gmpz_cmpabs_ui 00000000000153c0 __gmp_vsscanf 0000000000065540 __gmpn_hgcd2 000000000003efc0 __gmpz_sqrtrem 00000000000223d0 __gmpn_mullo_n 00000000000416e0 __gmpf_div_ui 000000000000f1d0 __gmpn_modexact_1_odd 000000000002a7e0 __gmpz_set_str 0000000000021d60 __gmpz_fits_uint_p 0000000000018b30 __gmpq_neg 0000000000026f50 __gmpn_mu_divappr_q 0000000000059530 __gmpn_mu_divappr_q_choose_in 00000000000594b0 __gmpz_cmp_si 0000000000015120 __gmpn_sub_n 0000000000028190 __gmpn_toom53_mul 0000000000047050 __gmpn_bdiv_qr 000000000005bd00 __gmpz_init_set_str 000000000001b600 __gmp_obstack_vprintf 0000000000063970 __gmpn_sub_err1_n 0000000000028d20 __gmpz_cmp_d 0000000000014f70 __gmpn_bc_mulmod_bnm1 0000000000053ce0 __gmpn_toom22_mul 0000000000042050 __gmpf_clear 000000000000bd20 __gmpn_jacobi_base 000000000003cdc0 __gmpf_abs 000000000000fa20 __gmpn_get_str 0000000000036730 __gmpn_dcpi1_bdiv_qr_n_itch 000000000005a8b0 __gmpq_cmp_ui 0000000000025cf0 __gmpn_and_n 0000000000060380 __gmpz_2fac_ui 00000000000173e0 __gmpn_hgcd_matrix_mul_1 000000000003e990 __gmpn_mod_1s_4p_cps 000000000002b090 __gmpz_init2 000000000001a1d0 __gmpn_add 0000000000027a30 __gmp_default_reallocate 000000000000a570 __gmpz_fits_slong_p 0000000000018a90 __gmp_obstack_printf 00000000000638b0 __gmpf_cmp_si 000000000000f6d0 __gmp_randinit_mt_noseed 00000000000663d0 __gmpz_sub_ui 00000000000229e0 __gmpq_clears 00000000000256e0 __gmpn_andn_n 0000000000060420 __gmp_randiset_mt 0000000000065ea0 __gmpz_lcm_ui 000000000001c250 __gmp_vfscanf 0000000000065500 __gmpz_fits_ushort_p 0000000000018b80 __gmpn_sqr_basecase 0000000000031a00 __gmpq_get_num 0000000000026450 __gmpn_mu_div_qr_itch 0000000000058f20 __gmpq_div_2exp 0000000000026a30 __gmpf_div_2exp 000000000000f8e0 __gmpn_sec_invert 000000000005fa50 __gmpn_toom_eval_pm1 000000000004e550 __gmpn_toom_eval_pm2 000000000004e8f0 __gmpn_mulmid 0000000000033470 __gmpz_fdiv_r_2exp 0000000000014c50 __gmpn_div_qr_2n_pi1 00000000000557c0 __gmpz_mul 000000000001cdf0 __gmpn_div_qr_1 00000000000553e0 __gmpn_toom43_mul 0000000000046870 __gmpn_mu_div_qr_choose_in 0000000000058920 __gmpq_inp_str 00000000000266e0 __gmpn_div_qr_2 0000000000055640 __gmpf_inp_str 000000000000cdb0 __gmpf_sub_ui 000000000000eac0 __gmpn_sec_mul 000000000005f2c0 __gmp_divide_by_zero 000000000000a410 __gmpn_add_err1_n 0000000000028980 __gmpn_get_d 000000000003d680 __gmpn_sub_err2_n 0000000000028f00 __gmp_fprintf 00000000000637f0 __gmpz_invert 000000000001a880 __gmpf_fits_sint_p 0000000000010a30 __gmpq_canonicalize 0000000000025570 __gmpz_millerrabin 000000000001c8f0 __gmpn_mod_1s_3p_cps 000000000002acb0 __gmpf_add 000000000000d150 __gmp_vscanf 0000000000065520 __gmpn_mu_bdiv_qr 000000000005b530 __gmpn_cnd_add_n 0000000000028270 __gmpz_cmpabs 00000000000151d0 __gmpz_cmp_ui 0000000000015180 __gmpn_sec_invert_itch 000000000005fa40 __gmpf_sqrt 000000000000cb50 __gmpz_root 0000000000021150 __gmpn_preinv_mu_divappr_q 0000000000058f60 __gmpz_random 0000000000020b90 __gmpz_lucnum2_ui 000000000001c6d0 __gmpf_fits_sshort_p 0000000000010ae0 __gmpn_add_1 0000000000027b80 __gmpn_powlo 000000000005e530 __gmpq_inv 00000000000267b0 __gmp_vsprintf 0000000000064250 __gmp_randseed_ui 00000000000666b0 __gmpz_clears 0000000000014c80 __gmpq_get_den 0000000000026400 __gmp_randinit_set 0000000000065620 __gmpz_neg 000000000001dc20 __gmpz_inits 000000000001a250 __gmpz_rootrem 0000000000021370 __gmpz_fits_sint_p 0000000000018a40 __gmpn_scan0 0000000000037520 __gmpz_fdiv_q_2exp 0000000000014740 __gmpn_scan1 0000000000037580 __gmpn_div_qr_1n_pi1 00000000000554b0 __gmpn_preinv_mu_div_qr 00000000000584e0 __gmpn_toom33_mul 0000000000045a60 __gmpf_sqrt_ui 00000000000100c0 __gmpz_init_set_d 000000000001b560 __gmpf_cmp_ui 000000000000f650 __gmpz_aorsmul_1 0000000000011c90 __gmpn_toom6_sqr 000000000004a080 __gmpn_divisible_p 0000000000029540 __gmpn_rsh1add_n 00000000000611b0 __gmpz_ui_kronecker 000000000001bcd0 __gmpn_rsh1add_nc 00000000000611a0 __gmpn_bdiv_q 000000000005bbb0 __gmpq_equal 00000000000273b0 __gmpn_sec_add_1 000000000005f990 __gmpn_add_err2_n 0000000000028b60 __gmpz_mul_si 000000000001d290 __gmpz_cdiv_r_ui 0000000000014480 __gmpz_oddfac_1 00000000000176b0 __gmpn_ior_n 0000000000060560 __gmpz_tdiv_qr 00000000000233a0 __gmp_mt_recalc_buffer 0000000000065f00 __gmpn_sub_err3_n 0000000000028ff0 __gmpn_broot 000000000005c320 __gmpn_copyd 0000000000060900 __gmpf_trunc 0000000000010790 __gmpf_clears 000000000000bd40 __gmpn_mod_1s_2p_cps 000000000002ac20 __gmpz_clear 0000000000014c60 __gmpz_hamdist 0000000000019a80 __gmpz_inp_str 000000000001a810 __gmpn_pow_1 0000000000033c90 __gmpn_sec_div_r_itch 000000000005f460 __gmpz_powm_ui 000000000001fa80 __gmpn_copyi 0000000000060886 __gmpn_fft_next_size 0000000000030c80 __gmpz_combit 00000000000158a0 __gmpz_jacobi 000000000001b680 __gmpz_cdiv_q_ui 0000000000013ff0 __gmpn_mul 000000000002b2e0 __gmpn_sec_pi1_div_r 000000000005f7e0 __gmpn_toom2_sqr 000000000004d2b0 __gmpn_bdiv_q_itch 000000000005bce0 __gmpz_divexact 00000000000164b0 __gmpn_divexact 000000000005c890 __gmpf_set_d 000000000000ba50 __gmpn_mu_bdiv_q_itch 000000000005b450 __gmp_invalid_operation 000000000000a500 __gmpz_fdiv_qr 0000000000018150 __gmpn_zero 0000000000060970 __gmpz_legendre 000000000000a3d0 __gmpf_set_prec_raw 000000000000fe50 __gmpn_addaddmul_1msb0 0000000000061d30 __gmpn_add_nc 0000000000027d40 __gmpn_hgcd_reduce 0000000000040060 __gmpn_divmod_1 000000000000a3c0 __gmp_exception 000000000000a3e0 __gmpz_array_init 0000000000012b70 __gmpn_divexact_by3c 0000000000029510 __gmpn_random2 0000000000033aa0 __gmpn_dcpi1_divappr_q_n 0000000000057c50 __gmpz_size 0000000000022220 __gmpf_set_q 000000000000fb00 __gmpz_fib_ui 00000000000186d0 __gmp_sqrt_of_negative 000000000000a400 __gmpq_cmp_z 0000000000025c50 __gmpn_divexact_1 0000000000029440 __gmpf_get_default_prec 000000000000fe70 __gmpz_mfac_uiui 0000000000016fc0 __gmpn_mu_bdiv_qr_itch 000000000005bb10 __gmpn_sec_sqr_itch 000000000005f2f0 __gmpn_toom54_mul 0000000000047a30 __gmpz_lucnum_ui 000000000001c3a0 __gmpn_lshift 00000000000290c0 __gmpn_add_n 0000000000027d60 __gmpf_set_z 000000000000bae0 __gmpn_xnor_n 00000000000607e0 __gmpn_matrix22_mul1_inverse_vector 000000000003e4d0 __gmpn_mul_1c 0000000000028640 __gmpn_neg 0000000000028540 __gmpn_add_err3_n 0000000000028c50 __gmpz_powm_sec 000000000001f210 __gmp_tmp_reentrant_alloc 000000000000add0 __gmpz_divisible_ui_p 0000000000016960 __gmpf_mul 000000000000eba0 __gmpf_fits_ulong_p 0000000000010b70 __gmpz_bin_ui 0000000000012be0 __gmpz_submul_ui 0000000000012130 __gmpz_fac_ui 00000000000175e0 __gmpz_addmul_ui 0000000000012120 __gmpz_divexact_ui 0000000000016850 __gmpn_addlsh_n 00000000000616c0 __gmpn_preinv_mu_div_qr_itch 0000000000058ee0 __gmpz_cdiv_r_2exp 0000000000014c40 __gmpz_fits_sshort_p 0000000000018ae0 __gmpn_iorn_n 0000000000060600 __gmp_randinit_lc_2exp_size 0000000000065630 __gmpn_hgcd_matrix_init 000000000003e550 __gmpz_mul_ui 000000000001d370 __gmpz_divisible_p 0000000000016910 __gmpn_modexact_1c_odd 000000000002a7e5 __gmpz_submul 0000000000011c80 __gmpn_invert_limb 0000000000060ab0 __gmp_asprintf 0000000000061e90 __gmpz_probab_prime_p 00000000000204b0 __gmp_randinit_lc_2exp 0000000000065d70 __gmpn_bdiv_q_1 0000000000059e50 __gmpn_matrix22_mul_strassen 000000000003d7d0 __gmpn_toom_eval_dgr3_pm1 000000000004dfc0 __gmpz_setbit 00000000000220b0 __gmpn_toom_eval_dgr3_pm2 000000000004e210 __gmpn_toom44_mul 00000000000489a0 __gmp_default_free 000000000000a520 __gmpn_binvert_itch 0000000000053870 __gmpf_get_d 000000000000fce0 __gmpq_inits 0000000000026630 __gmpn_matrix22_mul 000000000003e2d0 __gmpz_limbs_write 000000000001c380 __gmpn_mul_1 0000000000028646 __gmpn_mul_2 0000000000060bc0 __gmpn_hgcd_jacobi 0000000000041010 __gmpn_fft_best_k 000000000002d390 __gmpf_neg 000000000000fa80 __gmpz_ior 000000000001aa00 __gmpf_mul_ui 000000000000ed90 __gmp_snprintf 0000000000063c10 __gmpn_sqrlo 0000000000041bd0 __gmp_sscanf 0000000000065380 __gmpn_sec_mul_itch 000000000005f2d0 __gmp_primesieve 000000000000ab10 __gmpz_pow_ui 000000000001e320 __gmpz_clrbit 0000000000014d40 __gmpn_fib2_ui 000000000002a120 __gmpq_div 0000000000025ea0 __gmpn_invert 00000000000536a0 __gmp_scanf 00000000000652b0 __gmpn_redc_1 000000000005cb60 __gmpn_redc_2 000000000005d1a0 __gmpz_getlimbn 0000000000019a50 __gmpz_perfect_square_p 000000000001e2d0 __gmpq_clear 00000000000256a0 __gmp_nextprime 000000000000a660 __gmp_randclear_mt 0000000000065e80 __gmpz_cdiv_q_2exp 0000000000014570 __gmpz_gcd 0000000000018bc0 __gmpn_sec_sqr 000000000005f2e0 __gmpz_primorial_ui 00000000000202c0 __gmpn_dcpi1_div_qr_n 00000000000571b0 __gmpn_sec_sub_1_itch 000000000005f9e0 __gmpn_hgcd_appr 0000000000040460 __gmpf_integer_p 0000000000010c50 __gmpz_set_d 0000000000021af0 __gmpn_dcpi1_bdiv_q_n 000000000005a430 __gmpz_set_f 0000000000021c40 __gmpn_binvert 00000000000538b0 __gmp_vprintf 00000000000641e0 __gmpn_sec_tabselect 0000000000060990 __gmp_randget_mt 00000000000660c0 __gmpz_fdiv_r_ui 00000000000184e0 __gmpn_random 0000000000033a10 __gmpz_add_ui 0000000000011160 __gmpn_matrix22_mul_itch 000000000003d7a0 __gmpz_mul_2exp 000000000001d1a0 __gmpq_mul_2exp 00000000000268b0 __gmpf_pow_ui 0000000000010810 __gmp_vasprintf 0000000000064140 __gmpn_gcdext_lehmer_n 000000000003a8d0 __gmpz_tdiv_q 0000000000022f00 __gmpf_init_set_d 000000000000bcd0 __gmp_randinit_mt 0000000000066680 __gmpz_set_q 0000000000021d20 __gmpz_tdiv_r 0000000000023800 __gmpz_tdiv_ui 0000000000022ec0 __gmpz_gcdext 00000000000191b0 __gmpz_fdiv_q_ui 0000000000018050 __gmpn_sqrtrem 0000000000035bf0 __gmp_fscanf 00000000000651e0 __gmpn_sec_div_qr_itch 000000000005f300 __gmpz_divexact_gcd 0000000000016670 __gmpn_gcdext_1 0000000000038ce0 __gmpf_set_prec 000000000000fda0 __gmpn_toom_interpolate_16pts 00000000000516e0 __gmpq_sub 0000000000025560 __gmp_vfprintf 00000000000641c0 __gmpn_toom3_sqr 000000000004d5e0 __gmpz_fdiv_ui 0000000000018660 __gmpf_random2 000000000000ccb0 __gmpn_submul_1 0000000000028870 __gmpn_broot_invm1 000000000005bea0 __gmpq_get_str 00000000000264b0 __gmpn_bdiv_dbm1c 000000000005cac0 __gmp_vsnprintf 0000000000064200 __gmpf_get_str 000000000000bf70 __gmpn_sqrmod_bnm1_next_size 0000000000055360 __gmpn_mul_n 0000000000031220 __gmpq_set 00000000000270a0 __gmpn_divrem_1 0000000000029dc0 __gmpn_divrem_2 0000000000029fe0 __gmpn_toom8h_mul 000000000004a3b0 __gmpn_sec_add_1_itch 000000000005f980 __gmpz_sqrt 00000000000222b0 __gmpq_set_num 00000000000271b0 __gmpn_lshiftc 000000000002b160 __gmpz_congruent_ui_p 0000000000016350 __gmpn_div_q 000000000003aea0 __gmpn_toom_interpolate_8pts 000000000004ff40 __gmpn_redc_n 000000000005d310 __gmpn_rsblsh1_n 00000000000610a0 __gmpz_limbs_finish 000000000001c300 __gmpn_mod_1s_2p 000000000002aab0 __gmpz_tdiv_r_2exp 0000000000023ae0 __gmpn_cnd_swap 00000000000284f0 __gmpn_sqr 0000000000031420 __gmpz_out_raw 000000000001dec0 __gmpn_sbpi1_bdiv_qr 000000000005a100 __gmpn_gcd 00000000000386d0 __gmpf_dump 000000000000c7f0 __gmpz_sizeinbase 0000000000022230 __gmpn_toom_interpolate_7pts 000000000004f980 __gmpn_invertappr 0000000000053660 __gmpz_get_d 0000000000019660 __gmpf_init 000000000000ae50 __gmpn_trialdiv 000000000005fcf0 __gmpf_floor 00000000000104b0 __gmpq_cmp 0000000000025c30 __gmpn_gcdext_hook 000000000003a4e0 __gmpn_sec_div_r 000000000005f470 __gmpz_remove 0000000000020d90 __gmpn_pi1_bdiv_q_1 0000000000059ea5 __gmpn_bsqrt 000000000005c6f0 __gmpn_toom_interpolate_12pts 0000000000050630 __gmpn_toom_interpolate_6pts 000000000004f520 __gmp_asprintf_final 0000000000062020 __gmpn_dcpi1_bdiv_qr 000000000005ab10 __gmpz_and 0000000000012140 __gmp_init_primesieve 000000000000a940 __gmpn_bc_set_str 0000000000036f20 __gmpn_dc_set_str 0000000000037170 __gmpz_perfect_power_p 000000000001e2c0 __gmpn_preinv_mod_1 000000000002a870 __gmpn_toom_interpolate_5pts 000000000004f2b0 __gmpz_random2 0000000000020c10 __gmpq_set_si 0000000000027210 __gmpn_mod_1s_3p 000000000002ada0 __gmpz_kronecker_si 000000000001be40 __gmpq_set_den 0000000000027140 __gmpf_urandomb 0000000000010940 __gmpz_urandomb 0000000000024240 __gmpz_get_str 0000000000019720 __gmpz_fdiv_q 0000000000018560 __gmpz_scan0 0000000000021870 __gmpz_fdiv_r 00000000000183d0 __gmpz_scan1 00000000000219a0 __gmpz_inp_str_nowhite 000000000001a510 __gmpq_set_d 00000000000274e0 __gmpq_set_f 0000000000027780 __gmpf_swap 00000000000109f0 __gmpn_rsblsh2_n 0000000000061570 __gmpz_fits_ulong_p 0000000000018b70 __gmpz_tdiv_q_2exp 0000000000023220 __gmpz_urandomm 00000000000242d0 __gmpz_bin_uiui 0000000000013df0 __gmpn_zero_p 0000000000037820 __gmpn_mu_div_q 00000000000598e0 __gmpn_bsqrtinv 000000000005c740 __gmpz_divisible_2exp_p 0000000000016a10 __gmpn_dcpi1_div_qr 00000000000574d0 __gmpz_tstbit 0000000000023c70 __gmpz_cmpabs_d 0000000000015240 __gmpn_gcd_1 0000000000038600 __gmp_randseed 00000000000666a0 __gmpz_sub 0000000000022580 __gmpn_set_str_compute_powtab 0000000000036ce0 __gmpn_sqr_diag_addlsh1 0000000000060b40 __gmpz_cdiv_qr 00000000000140f0 __gmpq_init 00000000000265d0 __gmpq_set_z 0000000000027460 __gmpn_hgcd_appr_itch 0000000000040410 __gmpz_set 0000000000021a90 __gmpn_mod_1s_4p 000000000002af20 __gmpn_tdiv_qr 000000000003bc70 __gmpn_toom6h_mul 0000000000048fe0 __gmpn_hgcd_step 000000000003f620 __gmpn_nussbaumer_mul 0000000000032290 __gmpf_mul_2exp 000000000000f7a0 __gmpn_bdiv_qr_itch 000000000005be80 __gmp_doscan 0000000000064280 __gmpn_hgcd_reduce_itch 0000000000040010 __gmpn_divexact_by3 000000000000a3a0 __gmp_urandomm_ui 0000000000066770 __gmpz_prodlimbs 0000000000017de0 __gmpn_mu_div_q_itch 0000000000059e20 __gmpn_mullo_basecase 00000000000417e0 __gmpn_toom8_sqr 000000000004c040 __gmpq_abs 0000000000025040 __gmpz_get_si 00000000000196e0 __gmpn_set_str 0000000000037360 __gmpn_sbpi1_div_qr 00000000000564f0 __gmpn_powm 000000000005d5f0 __gmpn_dcpi1_div_q 0000000000056e70 __gmpz_set_si 0000000000021d30 __gmpz_get_d_2exp 0000000000019690 __gmpz_gcd_ui 0000000000019110 __gmpz_powm 000000000001e370 __gmpz_addmul 0000000000011c70 __gmpf_add_ui 000000000000d7a0 __gmp_randinit_default 0000000000065610 __gmpq_swap 00000000000279e0 __gmpf_out_str 000000000000cf30 __gmpq_out_str 0000000000027000 __gmpn_sec_div_qr 000000000005f310 __gmpn_toom62_mul 0000000000044bf0 __gmpn_mu_divappr_q_itch 0000000000059870 __gmpz_cmp 0000000000014f00 __gmpn_add_n_sub_n 0000000000061a60 __gmpn_toom4_sqr 000000000004dd40 __gmpq_set_ui 0000000000027360 __gmpz_mod 000000000001cce0 __gmpz_kronecker_ui 000000000001bf60 __gmpn_toom_eval_pm2exp 000000000004ecf0 __gmpn_toom_couple_handling 000000000004cfe0 __gmpn_gcdext 0000000000038da0 __gmpn_hgcd2_jacobi 00000000000408b0 __gmpq_get_d 0000000000026220 __gmpf_get_si 0000000000010bd0 __gmp_get_memory_functions 000000000000a5c0 __gmpz_xor 0000000000024500 __gmpf_set_si 000000000000b010 __gmpz_nextprime 000000000001dc90 __gmpn_mulmid_basecase 0000000000032440 __gmpn_dcpi1_bdiv_qr_n 000000000005a8c0 __gmp_tmp_reentrant_free 000000000000ae10 __gmpn_sqrmod_bnm1 0000000000054a90 __gmpf_get_prec 000000000000fe90 __gmpn_mod_1_1p_cps 000000000002aa50 __gmp_default_allocate 000000000000a530 __gmpn_nand_n 00000000000604c0 __gmpn_hgcd_itch 0000000000040180 __gmpn_mulmod_bnm1 0000000000053d20 __gmpn_sub 0000000000027e40 __gmpz_limbs_read 000000000001c370 __gmpf_div 000000000000ee90 __gmpn_toom_eval_pm2rexp 000000000004ef90 __gmpn_mul_basecase 00000000000315b0 __gmpn_sec_powm 000000000005e9a0 __gmpn_addmul_1 0000000000028760 __gmpn_addmul_2 0000000000060d20 __gmp_assert_header 000000000000a300 __gmpn_dcpi1_divappr_q 0000000000057e90 __gmpn_jacobi_2 000000000003ce50 __gmpz_init_set 000000000001b4f0 __gmpn_perfect_power_p 0000000000038140 __gmpf_init_set 000000000000bb30 __gmpn_ni_invertappr 0000000000053000 __gmp_doprnt_mpf2 0000000000062c20 __gmpq_add 0000000000025550 __gmpn_toom42_mulmid 0000000000032990 __gmpn_rshift 00000000000292e0 __gmpn_dcpi1_bdiv_q_n_itch 000000000005a420 __gmpf_reldiff 000000000000ca50 __gmpn_div_qr_2u_pi1 00000000000558a0 __gmpn_toom52_mul 0000000000043e10 __gmpn_mod_1 000000000002a350 __gmpn_brootinv 000000000005c400 __gmpz_congruent_p 0000000000015ac0 __gmpn_mu_div_qr 0000000000058cd0 __gmpn_sqrlo_basecase 0000000000041e40 __gmpn_sizeinbase 00000000000360f0 __gmpn_mod_34lsub1 000000000002a680 __gmpz_cdiv_qr_ui 0000000000014240 __gmpz_get_ui 0000000000019a30 __gmpz_fdiv_qr_ui 00000000000182b0 __gmpz_tdiv_qr_ui 0000000000023700 __gmpn_xor_n 0000000000060740 __gmp_printf 0000000000063a50 __gmpn_sec_powm_itch 000000000005f230 __gmpz_out_str 000000000001dff0 __gmpz_set_ui 0000000000022090 __gmpf_init_set_si 000000000000bc10 __gmp_sprintf 0000000000063ee0 __gmpn_dcpi1_bdiv_q 000000000005a570 __gmpn_hgcd_mul_matrix1_vector 000000000003f550 __gmpz_limbs_modify 000000000001c350 __gmpn_sublsh1_n 0000000000060f80 __gmp_assert_fail 000000000000a370 __gmpn_cmp 00000000000377f0 __gmpn_addlsh1_n 0000000000060e80 __gmpz_com 0000000000015410 __gmpn_remove 000000000005fed0 __gmpz_si_kronecker 000000000001bb00 __gmpf_sub 000000000000dc30 __gmp_randclear 0000000000065600 __gmpz_abs 0000000000010ca0 __gmpn_rsh1sub_nc 00000000000612e0 __gmpn_rsblsh_n 0000000000061890 __gmpn_hgcd_matrix_adjust 000000000003eac0 __gmpz_cdiv_q 0000000000013ef0 1508f4d86000 2 9 2 12 0 3 0 0 10000000001 1 100010001000100010001000100010 10 100000000000000000001 1 1 1