fork download
  1. #include <cassert>
  2. #include <iomanip>
  3. #include <string.h>
  4. #include <sstream>
  5. #include <iostream>
  6. #include <string>
  7. #include <unordered_map>
  8.  
  9. #include <unistd.h>
  10.  
  11. using namespace std;
  12.  
  13. // resolves a library at runtime
  14. // you must have ld load the library before using this,
  15. // otherwise it will die and blow up everything
  16. struct DLL
  17. {
  18. char *base;
  19. unordered_map<string, size_t> syms;
  20. DLL(const char *file)
  21. {
  22. // obtain symbols of requested library
  23. // objdump -T <elf> | awk '{if($4 == ".text") print $1,$7}'
  24. char buf[1024];
  25. string command = "objdump -T " + string(file) +
  26. " | awk '{if($4 == \".text\") print $7,$1}'";
  27.  
  28. auto cmd = popen(command.c_str(), "r");
  29. while (fgets(buf, 1024, cmd))
  30. {
  31. istringstream ss(buf);
  32. string tmp;
  33. cout << buf << endl;
  34. ss >> tmp, ss >> hex >> syms[tmp];
  35. }
  36. pclose(cmd);
  37.  
  38. // obtain base address of requested library
  39. // awk '{if(index($6, <elf>) != 0 && $3 == "00000000") print
  40. // substr($1, 1, index($1, "-") - 1)}' /proc/<pid>/maps
  41. string maps_file = "/proc/" + to_string(getpid()) + "/maps";
  42. command = "awk '{if(index($6, \"" + string(file) +
  43. "\") != 0 && $3 == \"00000000\") print"
  44. " substr($1, 1, index($1, \"-\") - 1)}' " +
  45. maps_file;
  46. cmd = popen(command.c_str(), "r");
  47. while (fgets(buf, 1024, cmd)) {
  48. base = reinterpret_cast<char *>(stoul(buf, 0, 16));
  49.  
  50. cout << buf << endl;
  51.  
  52. }
  53. pclose(cmd);
  54. }
  55. template <typename R = void, typename... T>
  56. constexpr R call(const char *name, T... t)
  57. {
  58. auto off = syms[string(name)];
  59. assert(off != 0);
  60. return ((R(*)(T...))(base + off))(t...);
  61. };
  62. };
  63.  
  64. constexpr const char *LIB_PATH = "/usr/lib/x86_64-linux-gnu/libgmp.so.10";
  65.  
  66. using mpz_t = char[16];
  67.  
  68. DLL *gmp;
  69.  
  70. struct fastIO
  71. {
  72. static const int BUFF_SZ = 1 << 18;
  73. char inbuf[BUFF_SZ], outbuf[BUFF_SZ];
  74. fastIO()
  75. {
  76. setvbuf(stdin, inbuf, _IOFBF, BUFF_SZ);
  77. setvbuf(stdout, outbuf, _IOFBF, BUFF_SZ);
  78. }
  79. } IO;
  80.  
  81. char sa[1600010], sb[1600010];
  82.  
  83. int main(int argc, char **argv)
  84. {
  85. if (getenv("LD_PRELOAD") == nullptr)
  86. {
  87. setenv("LD_PRELOAD", LIB_PATH, 1);
  88. execve("/proc/self/exe", argv, environ);
  89. exit(0);
  90. }
  91.  
  92. gmp = new DLL(LIB_PATH);
  93.  
  94. mpz_t a, b, q, r;
  95.  
  96. gmp->call("__gmpz_init", a);
  97. gmp->call("__gmpz_init", b);
  98. gmp->call("__gmpz_init", q);
  99. gmp->call("__gmpz_init", r);
  100.  
  101. int t;
  102. scanf("%d", &t);
  103. while (t--)
  104. {
  105. scanf("%s%s", sa, sb);
  106. gmp->call("__gmpz_set_str", a, sa, 16);
  107. gmp->call("__gmpz_set_str", b, sb, 16);
  108. gmp->call("__gmpz_tdiv_qr", q, r, a, b);
  109. gmp->call("__gmp_printf", "%Zx %Zx\n", q, r);
  110. }
  111.  
  112. gmp->call("__gmpz_clear", a);
  113. gmp->call("__gmpz_clear", b);
  114. gmp->call("__gmpz_clear", q);
  115. }
Success #stdin #stdout 0.01s 6440KB
stdin
8
47 1F
50 1F
3 1F
0 1F
100000000000000000000 FFFFFFFFFF
1000000000000000000000000000000000 FFFF
10000000000000000000000000000000000000000 FFFFFFFFFFFFFFFFFFFF
FFFFFFFFFF FFFFFFFFFE
stdout
__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